Java getNetworkPrefixLength () toujours -1 sur le bâton WLAN


Je veux construire un serveur, qui est découvrable via Wifi à l'intérieur d'un réseau. Par conséquent, le serveur doit envoyer des datagrammes UDP, pour publier son existence.

Sur mon PC, j'ai un bâton WLAN. La lecture des informations avec les méthodes d'un réseau Java NetworkInterface et InterfaceAddress me donne les informations suivantes:

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.

Pourquoi ai-je plusieurs adresses de diffusion pour la même InetAddress?

L'utilisation de ipconfig / all sur mon PC Windows me dit que mon masque de sous-réseau est 255.255.255.0. Donc, habituellement, la longueur du préfixe réseau devrait être 24, ou?

Author: tellob, 2015-06-29

1 answers

Ok J'ai trouvé une réponse à ce problème, posté sur ce blog de Christian Rieck.

Il dit, que c'est un bogue à l'intérieur du code source java. Ce bug a été corrigé avec Java 8. Donc, simplement utiliser Java 8 a résolu le problème pour moi.

 0
Author: tellob, 2015-06-29 10:59:19