UDP et InetAdress travaillant avec une IP sous forme d'un tableau de byte[] comme cela :
Enfin je dois convertir cette adresse en une String de la forme :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 InetAddress address = InetAddress.getByAddress({(byte)192, (byte)168, (byte)0, (byte)2}); DatagramPacket packet = new DatagramPacket(out, out.length, address, 33333);
... pour écriture dans un fichier.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 192.168.0.2
Et bien le code ci-après :
... écrit dans le fichier la valeur suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 String strIp = ""; for (int i = 0; i < ip.length; i++) { strIp += String.valueOf(ip[i]) + "."; System.out.print("IP => " + strIp); } getTableInit().put(CLE_IP_UDP, strIp.substring(0, strIp.length() - 1));
Cela semble normal puisque un byte couvre la plage -128 à 127.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 -64.-88.0.2
Alors comment faire pour convertir un byte > 127 en un int > 127, et vis versa ?
Merci d'avance.
Partager