On Thu, 26 Jun 2003, Herve AGNOUX wrote: > Bonjour, > > J'ai d�couvert d'o� sortait mon 0.0.0.0 ; cela vient d'un > ServerSocket.getInetAddress(). J'avais utilis� cette m�thode en me disant : > "Puisque j'ai un ServerSocket, autant m'en servir pour obtenir l'adresse de > ma machine ! " D'un cot�, je fais un new ServerSocket(), de l'autre j'ai > l'adresse de ma machine, je me trouvais tr�s malin. > > Est-ce que j'ai rien compris, est-ce que on a toujours 0.0.0.0, est-ce qu'il > faut absolument envoyer dans le constructeur du ServerSocket une InetAddress > sinon il ne la trouve pas tout seul ???
C'est le comportement normal en effet. Car si la machine a plusieurs interfaces l'adresse de la machine n'est pas unique et le server socket peut �couter sur toutes les interfaces � la fois. Si on fixe quelle interface on �coute � la cr�ation du serversocket en lui passant la bonne Inetaddress l� on n'a plus 0.0.0.0 mais l'@ correcte. Mais c'est le serpent qui se mord la queue n'est-ce pas ? puisqu'il faut l'@ pour initier le serversocket pour qu'il renvoie l'@ :-) En fait, le bon moyen d'obtenir l'@ de sa machine c'est d'utiliser InetAddress.getLocalHost() si la machine n'a qu'une interface ou InetAddress.getAllByName(String host) si la machine a plusieurs interfaces Pascal NICOLAS Universite d'ANGERS E Mail : [EMAIL PROTECTED] Web Page : http://www.info.univ-angers.fr/pub/pn/
