IP en Java
choco90
Messages postés
458
Date d'inscription
Statut
Membre
Dernière intervention
-
KX Messages postés 19031 Statut Modérateur -
KX Messages postés 19031 Statut Modérateur -
Bonjour,
Voici mon problème :
Écrire un programme Java qui affiche sur l'écran la version du protocole IP utilisé dans une machine (IP version 4, IP version 6)
Voici mon programme :
l'exécution du programme m'a affiché ceci : IP version 4
Que pensez vous de mon programme juste ou faux ?
Merci de me répondre ^^
Voici mon problème :
Écrire un programme Java qui affiche sur l'écran la version du protocole IP utilisé dans une machine (IP version 4, IP version 6)
Voici mon programme :
import java.net.InetAddress;
public class tcp {
public static void main(String[] args) throws Exception {
InetAddress ip = InetAddress.getByName("localhost");
byte [] MonIP = ip.getAddress();
if (MonIP.length == 4) {
System.out.println("IP version 4");
}
else {
System.out.println("IP version 6");
}
} // end main
} // end class tcp
l'exécution du programme m'a affiché ceci : IP version 4
Que pensez vous de mon programme juste ou faux ?
Merci de me répondre ^^
A voir également:
- IP en Java
- Ethernet n'a pas de configuration ip valide - Guide
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick java football - Télécharger - Jeux vidéo
- Télévision ip - Guide
- IPTV illégal : après les pirates, la justice condamne maintenant les clients… jusqu'à la prison ! - Guide
2 réponses
Ton code est absurde, remplace InetAddress par Inet6Adress, tu verras que bien que le format soit IPv6, ton code affiche quand même version 4, car "localhost" vaut toujours 127.0.0.1 au format IPv4 donc...
Imaginons que je force un peu la machine...
Ton adresse est toujours IPv4 mais contenu dans un tableau de byte plus grand.
Il t'affichera "IP version 6" alors que ton adresse est bien IPv4.
Regarde plutôt du côté de isIPv4CompatibleAddress
InetAddress ip =
InetAddress.getByAddress(InetAddress.getLocalHost().getHostAddress(),
new byte[16]);
Ton adresse est toujours IPv4 mais contenu dans un tableau de byte plus grand.
Il t'affichera "IP version 6" alors que ton adresse est bien IPv4.
Regarde plutôt du côté de isIPv4CompatibleAddress
Voici mon new code :
import java.net.InetAddress; public class tcp { public static void main(String[] args) throws Exception { InetAddress ip = InetAddress.getLocalHost(); byte [] MonIP = ip.getAddress(); if (MonIP.length == 4) { System.out.println("IP version 4"); } else { System.out.println("IP version 6"); } } // end main } // end class tcpBon alors, qu'est ce que t'en dis ?