(UDPProvider)使用DatagramSocket绑定端口

来源:3-7 案例实操-局域网搜索案例-3

itschenxiang

2018-11-10

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

写回答

1回答

Qiujuer

2018-11-11

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

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

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

0
4
Qiujuer
回复
itschenxiang
跨网络默认情况下是不行的,一般来说需要UDP监听,并且当前电脑具有外部网络地址,那么另外一个局域网的电脑就可以通过这个外网地址直接进行通讯。 所以这也是为什么所有的聊天软件几乎都需要云服务器的原因。 如果想要直接实现两个不同区域的局域网通讯,也可以找网络运营商,他们可以使用打洞桥接技术,让两个局域网就像是一个大局域网一样,此时就可以直接通讯了。
2018-11-12
共4条回复

Socket网络编程进阶与实战 系统掌握Socket核心技术

理论+实践,系统且深入掌握Socket核心技术,从容应对各种Socket应用场景的不二之选

2316 学习 · 476 问题

查看课程