数据报套接字.ppt

数据报套接字.ppt

ID:49633057

大小:850.00 KB

页数:67页

时间:2020-02-26

数据报套接字.ppt_第1页
数据报套接字.ppt_第2页
数据报套接字.ppt_第3页
数据报套接字.ppt_第4页
数据报套接字.ppt_第5页
资源描述:

《数据报套接字.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第5章数据报套接字5.1数据报套接字概述5.2DatagramSocket编程示例5.3组播套接字5.4组播套接字编程示例NetworkProgrammingSoftwareEngineering第5章数据报套接字数据报套接字又称自寻址套接字,数据报套接字使用前不需进行连接,数据报套接字编程中每条数据报文负载了自己的地址信息,并与其它信息相互独立。在接收信息时,数据报套接字扮演的角色就是一个信箱,从不同的地址发来的信件都可以放在这里,数据报套接字一旦被创建,可以向不同的地址发信息。数据报套接字是基

2、于UDP协议的。数据报套接字编程中主要使用三个类:DatagramPacket、DatagramSocket、MulticastSocket类NetworkProgrammingSoftwareEngineering第5章数据报套接字基于UDP的数据报和套接字UDP协议的全称是用户数据报,在网络中它与TCP协议一样用于处理数据包。在OSI模型中,在第四层——传输层,处于IP协议的上一层。UDP有不提供数据报分组、组装和不能对数据包的排序的缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达

3、的。UDP协议的全称是用户数据报,在网络中它与TCP协议一样用于处理数据包。在OSI模型中,在第四层——传输层,处于IP协议的上一层。UDP有不提供数据报分组、组装和不能对数据包的排序的缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的。NetworkProgrammingSoftwareEngineering5.1数据报套接字概述数据报套接字是基于UDP协议的。它比TCP具有更快的传输速度,但是不可靠。当网络传输UDP数据报时,无法保证数据报一定到达目的地,也无法保证各个数据报按发送

4、的顺序到达目的地。当发送方先发送包含字符串“hello”的数据报,再发送包含字符串“everyone”的数据报,接收方有可能先接收到字符串“everyone”,再接收到字符串“hello”;也有可能什么数据也没有接收到,因为发送方发送的数据有可能在传输途中都丢失了。在Java中,java.util.DatagramSocket负责接收和发送UDP数据报,java.util.DatagramPacket表示UDP数据报。NetworkProgrammingSoftwareEngineering5.1

5、数据报套接字概述UDP协议是无连接的协议,客户端的DatagramSocket与服务器端的DatagramSocket不存在一一对应关系,两者无需建立连接,就能交换数据报。每个DatagramSocket与一个本地地址(包括本地主机的IP地址和本地UDP端口)绑定,每个DatagramSocket可以把UDP数据报发送给任意一个远程DatagramSocket,也可以接收来自任意一个远程DatagramSocket的UDP数据报。在UDP数据报中包含了目的地址的信息,DatagramSocket根

6、据该信息把数据报发送到目的地。NetworkProgrammingSoftwareEngineering5.1数据报套接字概述NetworkProgrammingSoftwareEngineering5.1.1创建DatagramPacket对象DatagramPacket表示数据报,它的构造方法可以分为两类:一类构造方法创建的DatagramPacket对象用来接收数据还有一类构造方法创建的DatagramPacket对象用来发送数据。两类构造方法的主要区别是,用于发送数据的构造方法需要设定数据

7、报到达的目的地址,而用于接收数据的构造方法无需设定地址。NetworkProgrammingSoftwareEngineering5.1.1创建DatagramPacket对象1、用于接收数据的构造方法包括:(1)publicDatagramPacket(byte[]data,intlength)(2)publicDatagramPacket(byte[]data,intoffset,intlength)以上data参数用来存放接收到的数据,参数length指定要接收的字节数,参数offset指定

8、在data中存放数据的起始位置,即data[offset]。如果没有设定参数offset,那么起始位置为data[0]。举例:Byte[]buffer=newbyte[8912]DatagramPacketdatap=newDatagramPacket[buffer,buffer.length]NetworkProgrammingSoftwareEngineering5.1.1创建DatagramPacket对象2、用于发送数据的构造方法包括:(1)publicDatagramPa

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。