A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Rain2692 高级黑马   /  2014-11-4 19:31  /  909 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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)加入指定的广播地址。

评分

参与人数 1技术分 +1 收起 理由
杨佳名 + 1

查看全部评分

1 个回复

倒序浏览
额,总结的好全,看看
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马