黑马程序员技术交流社区

标题: 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