Java getNetworkPrefixLength()在WLAN上始终为-1
我想建立一个服务器,可以通过网络内的Wifi发现。因此,服务器应发送UDP数据报,以公布其存在 在我的电脑上我有一个无线网卡。通过Java NetworkInterface和InterfaceAddress的方法读取信息,可以获得以下信息:Java getNetworkPrefixLength()在WLAN上始终为-1,java,network-programming,Java,Network Programming,我想建立一个服务器,可以通过网络内的Wifi发现。因此,服务器应发送UDP数据报,以公布其存在 在我的电脑上我有一个无线网卡。通过Java NetworkInterface和InterfaceAddress的方法读取信息,可以获得以下信息: 300Mbps Wireless USB Adapter interface InetAddress: /192.168.43.16 interface address string in textual presentation: 192.168.43.1
300Mbps Wireless USB Adapter
interface InetAddress: /192.168.43.16
interface address string in textual presentation: 192.168.43.16
network prefix length: -1
broadcast InetAddress: /96.113.104.12
broadcastAddress: 96.113.104.12
300Mbps Wireless USB Adapter
interface InetAddress: /192.168.43.16
interface address string in textual presentation: 192.168.43.16
network prefix length: -1
broadcast InetAddress: /0.0.0.0
broadcastAddress: 0.0.0.0
Exception in socket discovery beacon send thread.
为什么同一个地址会有多个广播地址
在我的Windows PC上使用ipconfig/all告诉我,我的子网掩码是255.255.255.0。所以通常网络前缀长度应该是24,或者?好的,我找到了这个问题的答案,发布在 它说,这是java源代码中的一个bug。Java8修复了这个bug。因此,简单地使用Java8就为我解决了这个问题