教育路上

全国站>Java>网络编程>DatagramPacket
发布需求
填写需求信息关闭
我们会根据您的需求匹配

姓      名:

意向城市:

留      言:

手机号码:

验  证  码:  

确认提交

DatagramPacket

摘要:UDP 通信也是一样,发送和接收的数据也需要使用“集装 箱”进行打包。为此 JDK 中提供了一个 DatagramPacket 类。以下是我们为大家整理的,相信大家阅读完后肯定有了自己的选择吧。

2022-05-18 16:39网络推荐

发布时间:
2022-05-18 16:39
信息来源:
网络推荐
浏览次数:
323
DatagramPacket

前面介绍了 UDP 是一种面向无连接的协议,因此,在通信时发送端和接收端不用建立 连接。UDP 通信的过程就像是货运公司在两个码头间发送货物一样。在码头发送和接收货物 时都需要使用集装箱来装载货物,UDP 通信也是一样,发送和接收的数据也需要使用“集装 箱”进行打包。为此 JDK 中提供了一个 DatagramPacket 类,该类的实例对象就相当于一个 集装箱,用于封装 UDP 通信中发送或者接收的数据。 想要创建一个 DatagramPacket 对象,首先需要了解一下它的构造方法。在创建发送端 和接收端的 DatagramPacket 对象时,使用的构造方法有所不同,接收端的构造方法只需要 接收一个字节数组来存放接收到的数据,而发送端的构造方法不但要接收存放了发送数据的 字节数组.还需要指定发送端 IP 地址和端口号。接下来根据 API 文档的内容,对 DatagramPacket 的构造方法进行详细地讲解。  DatagramPacke t( byte[ ]buf,int length) 使用该构造方法在创建 DatagramPacket 对象时,指定了封装数据的字节数组和数据的 大小,没有指定 IP 地址和端口号。很明显,这样的对象只能用于接收端,不能用于发送端。 因为发送端一定要明确指出数据的目的地(IP 地址和端口号),而接收端不需要明确知道数 据的来源,只需要接收到数据即可。  DatagramPacket( byte[] buf,int length,InetAddress addr,int port) 使用该构造方法在创建 DatagramPacket 对象时,不仅指定了封装数据的字节数组和数 据大小,还指定了数据包的目标 IP 地址(addr)和端口号(prot),该对象通常用于发送端, 因为发送数据时必须指定接收端的 IP 地址和端口号,就好像发送货物的集装箱上面必须标 明接收人的地址一样。  DatagramPacket( byte[] buf,int offset,int length) 该构造方法与第一个构造方法类似,同样用于接收端,只不过在第一个构造方法的基础 上,增加了一个 offset 参数,该参数用于指定接收到的数据在放入 buf 缓冲数组时是从 offset 处开始的。  DatagramPacket( byte[] buf,int offset,int length,InetAddress addr int port) 该构造方法与第二个构造方法类似,同样用于发选端,只不过在第二个构造方法 的基础上,增加了一个 offset 参数,该参数用于指定一个数组中发送数据的偏移 量为 offset,即从 offset 位置开始发送数据。 上面我们讲解了 DatagramPacket 的构造方法,接下来对 DatagramPacket 类中的常 方法讲行详细地讲解,如表 13-2 所示。

from shengerguan

上一篇:
UDP与TCP 协议
下一篇:
DatagramSocket
标签:
网友评论
发布评论
相关推荐
我也来发表评价关闭
我对该学校的评价:
0
评价500
验证码:
提交 (匿名发布,无须担心别人知道您的身份)