UDP和TCP的学习笔记
2013-10-19 21:14
218 查看
这几天了解传输层协议, 分享一下,夹杂个人观点。。希望对您有帮助。。
一: Udp传输:
1.它是不可靠传输,涉及到两个类,DatagramSocket和DatagramPacket(DatagramSocket是建立套接字(端口),
DatagramPacket是将数据进行打包的 打包的需要的数据类型是byte,也就是以字节的形式进行打包);
2.udp 不需要传输建立连接,只是单纯的向端口发信息而已,如果接收端口开着,那个就就收端口就可以接到信息,
如果端口没有开,那么这段信息就会丢失,也就是所说的不可靠传输
一般建立的过程(udp没有客户端和服务端之分)
发送过程:
1.建立一个端口(也就是实例化一个DatagramSocket对象,端口可以指定,也可以不指定)
2.将数据进行打包处理(将DatagramPacket实例化,将信息打包)
3.通过DatagramSocket的send(DatagramPacket dp)方法将数据发送出去。
4.关闭相应的资源
接收过程:
1.2.4步和发送过程相同(数据打包的时候有点细节不同,具体参考java API)
3.通过DatagramSocket的Receive(DatagramPacket dp)方法获取数据,进行处理.
二: Tcp是可靠地传输;
1.它是可靠地传输,涉及到两个类,Socket和ServerSocket(Socket表示的是客户端的,ServerSocket表示的是服务器)
2.tcp传输面向连接,可以传输大数据量,当然Udp也可以(但是不安全,还要打包(64K))
一般过程:
客户端:
1.建立客户端口(实例化一个Socket对象)、
2.获取输入流和输出流(输入流:接收服务端返回的信息,输出流:向服务端发送信息)
3.具体的读写动作
4.关资源
服务端:
1.建立服务端的具体监听对象(ServerSocket(int port))
2.通过ServerSocket类的accept方法使得客户端被监听,并且是的客户端与服务端建立连接,同时返回客户端的Socket对象
3.获取Socket对象的输入流和输出流(输入流:获取客户端发来的信息,输出流: 将服务端处理后的信息返回给客户端)
注:服务端一般是不会关闭资源的,因为一个服务器不仅仅是给一个客户服务的,当客户端关闭资源时相应的链接也就中断,
服务端这边也会自动断开。
三. 区别:
1.tcp是需要建立链接;但是udp不需要建立链接,
2.tcp是可靠地传输,但是效率较低;udp虽然是不可靠传输,但是效率高
3.tcp一般用来传输大数据量的(建立连接); 而udp是以数据报包的形式传送的(数据报包最大为64k),
也就是说传输的基本单位是数据报包(和数据链路层的传输基本单位是帧一个道理)。
一: Udp传输:
1.它是不可靠传输,涉及到两个类,DatagramSocket和DatagramPacket(DatagramSocket是建立套接字(端口),
DatagramPacket是将数据进行打包的 打包的需要的数据类型是byte,也就是以字节的形式进行打包);
2.udp 不需要传输建立连接,只是单纯的向端口发信息而已,如果接收端口开着,那个就就收端口就可以接到信息,
如果端口没有开,那么这段信息就会丢失,也就是所说的不可靠传输
一般建立的过程(udp没有客户端和服务端之分)
发送过程:
1.建立一个端口(也就是实例化一个DatagramSocket对象,端口可以指定,也可以不指定)
2.将数据进行打包处理(将DatagramPacket实例化,将信息打包)
3.通过DatagramSocket的send(DatagramPacket dp)方法将数据发送出去。
4.关闭相应的资源
接收过程:
1.2.4步和发送过程相同(数据打包的时候有点细节不同,具体参考java API)
3.通过DatagramSocket的Receive(DatagramPacket dp)方法获取数据,进行处理.
二: Tcp是可靠地传输;
1.它是可靠地传输,涉及到两个类,Socket和ServerSocket(Socket表示的是客户端的,ServerSocket表示的是服务器)
2.tcp传输面向连接,可以传输大数据量,当然Udp也可以(但是不安全,还要打包(64K))
一般过程:
客户端:
1.建立客户端口(实例化一个Socket对象)、
2.获取输入流和输出流(输入流:接收服务端返回的信息,输出流:向服务端发送信息)
3.具体的读写动作
4.关资源
服务端:
1.建立服务端的具体监听对象(ServerSocket(int port))
2.通过ServerSocket类的accept方法使得客户端被监听,并且是的客户端与服务端建立连接,同时返回客户端的Socket对象
3.获取Socket对象的输入流和输出流(输入流:获取客户端发来的信息,输出流: 将服务端处理后的信息返回给客户端)
注:服务端一般是不会关闭资源的,因为一个服务器不仅仅是给一个客户服务的,当客户端关闭资源时相应的链接也就中断,
服务端这边也会自动断开。
三. 区别:
1.tcp是需要建立链接;但是udp不需要建立链接,
2.tcp是可靠地传输,但是效率较低;udp虽然是不可靠传输,但是效率高
3.tcp一般用来传输大数据量的(建立连接); 而udp是以数据报包的形式传送的(数据报包最大为64k),
也就是说传输的基本单位是数据报包(和数据链路层的传输基本单位是帧一个道理)。
相关文章推荐
- TCP/IP 详解卷一学习笔记(三): UDP 用户数据报协议
- 网络编程学习笔记(使用select函数的TCP和UDP回射服务器程序)
- 黑马程序员_学习笔记第22天——网络编程TCP/UDP
- 黑马程序员________Java中UDP和TCP网络编程学习笔记
- 19. JAVA 网络编程 Part 1 (IP与InetAddress类、URL与URLConnection类、URLEncoder与URLDecoder类、TCP&UDP)---- 学习笔记
- TCP与UDP模拟实验学习笔记
- 黑马程序员_UDP和TCP简单的通信代码和注释学习笔记
- Socket/UDP/TCP学习笔记
- 《Unix网络编程》学习笔记 1 (TCP UDP 简单认识 摘抄)
- Golang 学习笔记:HTTP, TCP/IP, UDP
- Unix网络编程学习笔记之第2章 TCP和UDP
- 黑马程序员_学习笔记:15) 网络编程:Socket(udp、tcp)
- 网络编程(UDP/TCP)+JAVA学习笔记-DAY26
- 学习笔记一:TCP与UDP通信协议
- 路由交换学习笔记04--TCP/UDP
- JAVA学习笔记Day24——javaTCP UDP网络编程Socket总结
- python网络编程学习笔记(2)--TCP和UDP区别(补充)
- Java 网络编程 TCP vs UDP -Java学习笔记(31)
- 学习笔记一:TCP与UDP通信协议
- UNIX网络编程学习笔记(1) 传输层:TCP UDP STCP