chapter8-基于UDP的数据报和套接字ppt课件.ppt

chapter8-基于UDP的数据报和套接字ppt课件.ppt

ID:59423435

大小:247.00 KB

页数:56页

时间:2020-09-19

chapter8-基于UDP的数据报和套接字ppt课件.ppt_第1页
chapter8-基于UDP的数据报和套接字ppt课件.ppt_第2页
chapter8-基于UDP的数据报和套接字ppt课件.ppt_第3页
chapter8-基于UDP的数据报和套接字ppt课件.ppt_第4页
chapter8-基于UDP的数据报和套接字ppt课件.ppt_第5页
资源描述:

《chapter8-基于UDP的数据报和套接字ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Java网络编程第8章基于UDP的数据报和套接字8.1UDP协议简介8.2DatagramPacket类8.3DatagramSocket类8.4DatagramChannel类8.5组播Socket第8章基于UDP的数据报和套接字UDP(UserDatagramProtocol,用户数据报协议)是传输层的另一种协议,它比TCP具有更快的传输速度,但是不可靠。UDP发送的数据单元称为UDP数据报。当网络传输UDP数据报时,无法保证数据报一定到达目的地,也无法保证各个数据报按发送的顺序到达目的地。当发送方先发送包含字符串“hello”的数据报,再发送包含字符串“ever

2、yone”的数据报,接收方有可能先接收到字符串“everyone”,再接收到字符串“hello”;也有可能什么数据也没有接收到,因为发送方发送的数据有可能在传输途中都丢失了。8.1UDP协议简介在Java中,java.util.DatagramSocket负责接收和发送UDP数据报,java.util.DatagramPacket表示UDP数据报。如图8-1所示,每个DatagramSocket与一个本地地址(包括本地主机的IP地址和本地UDP端口)绑定,每个DatagramSocket可以把UDP数据报发送给任意一个远程DatagramSocket,也可以接收来自任

3、意一个远程DatagramSocket的UDP数据报。在UDP数据报中包含了目的地址的信息,DatagramSocket根据该信息把数据报发送到目的地。8.1UDP协议简介UDP协议是无连接的协议,客户端的DatagramSocket与服务器端的DatagramSocket不存在一一对应关系,两者无需建立连接,就能交换数据报。DatagramSocket提供了接收和发送数据报的方法:publicvoidreceive(DatagramPacketdst)throwsIOException//接收数据报publicvoidsend(DatagramPacketsrc)t

4、hrowsIOException//发送数据报8.1UDP协议简介例程EchoServer与例程EchoClient就利用DatagramSocket来发送和接收数据报。同一时刻,可能会有多个EchoClient进程与EchoServer进程通信。EchoServer的DatagramSocket与UDP端口8000绑定,EchoClient则与任意一个可用的UDP端口绑定。EchoServer在一个while循环中不断接收EchoClient的数据报,然后给EchoClient回复一个数据报。EchoClient从控制台读取用户输入的字符串,把它包装成一个数据报,再

5、把它发送给EchoServer,接着再接收EchoServer的响应数据报。8.2DatagramPacket类DatagramPacket表示数据报,它的构造方法可以分为两类:一类构造方法创建的DatagramPacket对象用来接收数据还有一类构造方法创建的DatagramPacket对象用来发送数据。两类构造方法的主要区别是,用于发送数据的构造方法需要设定数据报到达的目的地址,而用于接收数据的构造方法无需设定地址。8.2DatagramPacket类用于接收数据的构造方法包括:publicDatagramPacket(byte[]data,intlength)p

6、ublicDatagramPacket(byte[]data,intoffset,intlength)以上data参数用来存放接收到的数据,参数length指定要接收的字节数,参数offset指定在data中存放数据的起始位置,即data[offset]。如果没有设定参数offset,那么起始位置为data[0]。8.2DatagramPacket类用于发送数据的构造方法包括:publicDatagramPacket(byte[]data,intoffset,intlength,InetAddressaddress,intport)publicDatagramPack

7、et(byte[]data,intoffset,intlength,SocketAddressaddress)publicDatagramPacket(byte[]data,intlength,InetAddressaddress,intport)publicDatagramPacket(byte[]data,intlength,SocketAddressaddress)以上data参数中存放了要发送的数据,参数length指定要发送的字节数,参数offset指定要发送的数据在data中的起始位置,即data[offset]。如果没有设定参数offs

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

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

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