首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UDP -如何获取传入数据报的目标地址

UDP -如何获取传入数据报的目标地址
EN

Stack Overflow用户
提问于 2020-09-26 07:08:05
回答 1查看 58关注 0票数 0
代码语言:javascript
复制
DatagramSocket socket = new DatagramSocket(3000);
byte[] buffer = new byte[65536];
DatagramPacket packet = new DatagramPacket(buffer, buffer.length);
socket.receive(packet);
//packet.getDestAddress()

我想要获取数据报到达的IP地址。我不知道。

EN

回答 1

Stack Overflow用户

发布于 2020-09-26 10:07:27

我认为解决这个问题的方法是改变

代码语言:javascript
复制
DatagramSocket socket = new DatagramSocket(3000);

代码语言:javascript
复制
InetAddress localAddr = ...
DatagramSocket socket = new DatagramSocket(3000, localAddr);

这样,您的套接字将绑定到特定的IP地址(而不是所有本地地址),并且它将只获得寻址到该IP地址的数据包。如果要接收发往多个地址的数据包地址并区分不同的IP地址,则可以为每个IP地址创建不同的DatagramSocket

(处理多个套接字的复杂性可能会让您重新考虑是否真的需要知道传入数据报的目标IP。)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64072333

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档