黑马程序员技术交流社区
标题:
UDP原理及常用类
[打印本页]
作者:
Rain2692
时间:
2014-11-4 19:31
标题:
UDP原理及常用类
UDP协议和TCP协议的网络通信
TCP协议:基于虚拟链路的通信协议,协议是【可靠】的。
A节点发送数据给B节点之后,B节点需要向A节点发送确认。
如果A节点没有收到B节点的确认信息,A节点会重发之前的信息。
【性能较低】。
UDP协议:无需建立虚拟链路。协议是不可靠的。
A节点以DatagramSocket发送数据报,数据报携带数据。
数据报上还有目标地址,大部分情况下,数据报可以抵达。
但在有些情况下,数据报可能会丢失,丢失了也不管。
UDP的常用类:
DatagramPacket与DatagramSocket
DatagramSocket:相当于“码头”,发送,接受【数据报】。
DatagramPacket:代表【数据报】。
发送的一端:
(1)先创建“码头”(DatagramSocket)
(2)创建有数据、有目标地址(IP和端口)的数据报。
(3)发送
接受的一端:
(1)先创建有固定IP、固定端口的“码头”(DatagramSocket)
(2)创建空的数据报
(3)接收
MulticastSocket
广播socket --也是一个“码头”。
因此也要和DatagramPacket结合使用。
它多了一个setTimeToLive(int ttl)方法。
TTL是控制数据可以跨过多少网段。
当TTL为0时,说明数据报只能停留在本机。
当TTL为1时,说明数据报只能停留在当前局域网。
当TTL为32时,说明数据报只能停留在本站点的网络。
当TTL为64时,说明数据报只能停留在本地区。
当TTL为128时,说明数据报只能停留在本大洲。
当TTL为255时,说明数据报到达全球。
发送:
与DatagramSocket的发送方法完全一样的。
只是数据报的地址是一个【特殊的广播地址】。
接收:
要先调用joinGroup(InetAddress mcastaddr)加入指定的广播地址。
作者:
sk0806
时间:
2014-11-4 19:35
额,总结的好全,看看
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2