请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

(UDPProvider)使用DatagramSocket绑定端口

(UDPProvider)使用DatagramSocket绑定端口时,默认绑定到本地地址?出现了绑定到虚拟网卡的情况如何处理呢?

正在回答 回答被采纳积分+3

1回答

Qiujuer 2018-11-11 10:17:06

如果是有多个本地IP地址,在初始化DatagramSocket的时候是可以支持指定ip地址绑定的:

public DatagramSocket(int port, InetAddress laddr) throws SocketException {
    this(new InetSocketAddress(laddr, port));
}

如果不指定的情况下,默认会使用所能够使用的所有本地地址进行绑定。

0 回复 有任何疑惑可以回复我~
  • 提问者 itschenxiang #1
    所有本地地址绑定?
    回复 有任何疑惑可以回复我~ 2018-11-11 10:19:42
  • Qiujuer 回复 提问者 itschenxiang #2
    简单来说一台电脑可能同时在局域网中有一个ip地址,同时还具有外网的ip地址,那么在我们不指定ip地址的情况下会绑定以上2个ip地址下的端口,也就是无论是局域网的其他设备通过局域网链接这个电脑或者外网的其他设备链接都是OK的。
    
    这样的情况一般在部分家用电脑上可见,取决于你的网络情况;第二种就是云服务器一般都具有2个ip地址。
    回复 有任何疑惑可以回复我~ 2018-11-11 18:26:39
  • 提问者 itschenxiang 回复 Qiujuer #3
    那假如就是最普通的计算机(只有局域网ip),要跨网进行访问怎么办?UDP打洞?
    回复 有任何疑惑可以回复我~ 2018-11-11 21:38:11
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信