Ymox 2007-04-02 at 08:05am Bonjour,
Je cherche les instructions pour obtenir l'adresse IP de l'ordinateur sur lequel va tourner mon programme. J'ai déjà essayé les instructions getLocalHost() et getHostAddress(), mais celles-ci combinées me retournent l'adresse IP d'une autre machine, je crois que c'est celle du serveur de mon provider...
Quelqu'un pourrait m'aider SVP ?
Merci

Je sais qu'il y a marqué "con" sur ma gueule. Je suis né comme ça, je m'y fais. Mais pourquoi toutes les filles qui me plaisent se sentent obligées de rajouter le suffixe "-fident" ?
Ymox 2007-04-02 at 12:17pm Euh... Que ce soit sous Linux ou Windows, c'est la même chose, si c'est mon programme qui va la chercher, non ?
Ce que j'aimerais, c'est que le programme détermine à son lancement mon adresse IP pour pouvoir la communiquer à un serveur, et que je n'aie pas besoin d'entrer "à la main" l'adresse IP quelque part, que ce soit une fois pour toutes ou à chaque lancement...
(Je programme sous Linux.)

Je sais qu'il y a marqué "con" sur ma gueule. Je suis né comme ça, je m'y fais. Mais pourquoi toutes les filles qui me plaisent se sentent obligées de rajouter le suffixe "-fident" ?
Ymox 2007-04-02 at 02:21pm Oui, mais ça, je ne suis pas censé le savoir dans ce que je fais ! Le protocole stipule que l'adresse IP doit être envoyée par mon programme pour que le serveur m'enregistre...
C'est vrai que ça peut paraître idiot de faire ainsi, mais voilà, si quelqu'un pouvait m'aider, ce serait sympa

Je sais qu'il y a marqué "con" sur ma gueule. Je suis né comme ça, je m'y fais. Mais pourquoi toutes les filles qui me plaisent se sentent obligées de rajouter le suffixe "-fident" ?
si windows -> chépo
si linux: gethostbyname(localhost) ? getaddrinfo? fais des mans!
Ymox 2007-04-03 at 07:46am Je cherche les méthodes Java qui pourraient me renvoyer l'adresse IP correcte ! Sinon, je ne pense pas que j'aurais posté ça dans cette section...

Je sais qu'il y a marqué "con" sur ma gueule. Je suis né comme ça, je m'y fais. Mais pourquoi toutes les filles qui me plaisent se sentent obligées de rajouter le suffixe "-fident" ?
Uther 2007-04-03 at 08:58am Bon pour la solution a l'arrache, tu dois pouvoir utiliser Runtime.getRuntime().exec("ifconfig").getOutputStream();
et lire le résultat la dedans mais c'est très moche et pas vraiment JAVA.
Uther 2007-04-03 at 09:12amEdited by Uther On the 2007-04-03 at 10:41am et apres un survol de 30 secondes de la doc, il me semble avoir trouvé ce qui t'intéresse: la classe NetworkInterface disponible sur JDK 1.4 et plus dans le package java.net.
A vue de nez, il te faut un mesInterfaceReseau = NetworkInterface.getNetworkInterfaces() ;
Tu obtiens la liste de tes interfaces réseau, Il faudra choisir la bonne. La pluspart des ordinateurs n'en font pas la collection, mais dans certains cas il peut y en avoir plusiers, il te faudra sans doute aussi ignorer l'interface de loopback. A toi de voir comment déterminer celle qui t'intéresses.
Une fois choisi l'interface qui te concerne, fais un monInterfaceResau.getInetAddresses(); .
La encore tu obtiens une énumération mais je pense qu'il devrait n'y avoir qu'un seul élément vu que je ne connais pas d'interface réseau courante qui aie plusieurs adresses.
Regarde la Doc de la classe, ça n'a vraiment pas l'air compliqué.
désolé j'avais pas vu que c'était en java #shy#
Ymox 2007-04-26 at 01:55pm Oui, je sais, c'est presque du déterrage, mais voilà, il me semblait sympa de vous dire merci, et que j'ai résolu mon problème.
ServerSocket.getLocalAddress().getHostAddress();
ServerSocket.getLocalPort(); (pour le cas où ce n'est pas un port "standard")
Du coup, je peux même avoir l'adresse complète du serveur auquel je suis connecté :
ServerSocket.getInetAddress().getHostAddress();
ServerSocket.getPort());
[Edit] Noms de classes incorrects

Je sais qu'il y a marqué "con" sur ma gueule. Je suis né comme ça, je m'y fais. Mais pourquoi toutes les filles qui me plaisent se sentent obligées de rajouter le suffixe "-fident" ?