采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
(UDPProvider)使用DatagramSocket绑定端口时,默认绑定到本地地址?出现了绑定到虚拟网卡的情况如何处理呢?
如果是有多个本地IP地址,在初始化DatagramSocket的时候是可以支持指定ip地址绑定的:
public DatagramSocket(int port, InetAddress laddr) throws SocketException { this(new InetSocketAddress(laddr, port)); }
如果不指定的情况下,默认会使用所能够使用的所有本地地址进行绑定。
所有本地地址绑定?
简单来说一台电脑可能同时在局域网中有一个ip地址,同时还具有外网的ip地址,那么在我们不指定ip地址的情况下会绑定以上2个ip地址下的端口,也就是无论是局域网的其他设备通过局域网链接这个电脑或者外网的其他设备链接都是OK的。 这样的情况一般在部分家用电脑上可见,取决于你的网络情况;第二种就是云服务器一般都具有2个ip地址。
那假如就是最普通的计算机(只有局域网ip),要跨网进行访问怎么办?UDP打洞?
登录后可查看更多问答,登录/注册
理论+实践,系统且深入掌握Socket核心技术,从容应对各种Socket应用场景的不二之选
2.7k 1
1.8k 7
1.6k 5
1.9k 13
1.0k 13