DatagramSocket的使用方法

18.5 UDP数据报通信

用户数据报协议(UDP)是一种无连接的客户/服务器通信协议。它不保证数据报会被对方完全接收,也不保证它们抵达的顺序与发出时一样,但它的速度比TCP/IP协议要快得多。所以,对于某些不需要保证数据完整准确的场合,或是数据量很大的场合(比如声音、视频)等,通常采用UDP通信。另外在局域网中,数据丢失的可能性很小,也常采用UDP通信。

UDP通信中,需要建立一个DatagramSocket,与Socket不同,它不存在"连接"的概念,取而代之的是一个数据报包--DatagramPacket。这个数据报包必须知道自己来自何处,以及打算去哪里。所以本身必须包含IP地址、端口号和数据内容。

18.5.1 DatagramSocket的使用方法

DatagramSocket可以用来创建收、发数据报的socket对象。如果用它来接收数据,应该用下面这个创建方法:

public DatagramSocket(int port) throws SocketException

其中,参数port指定接收时的端口。

如果用来发送数据,应该用这个:

public DatagramSocket() throws SocketException

所有的端口、目的地址和数据,需要由DatagramPacket来指定。

接收数据时,可以使用它的receive(DatagramPacket data)方法。获取的数据报将存放在data中。发送数据时,可以使用它的send(DatagramPacket data)方法。发送的端口、目的地址和数据都在data中。

 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码上飞跃

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值