eddyger
Messages postés20Date d'inscriptionvendredi 3 novembre 2000StatutMembreDernière intervention13 décembre 2010 17 févr. 2006 à 08:02
Bonjour,
Deux solutions :
soluce 1) Tu veux maîtriser le numéro de port à allouer :
1 a) soit tu fais confiance à /etc/services (Unix) (\WINDOWS\system32\drivers\etc\services pour Windows) en le parcourant et tu prends le port max + 1 (bof ?!)
1 b) soit tu suis la convention : les ports inférieurs à 1024 sont réservés aux services standards et donc tu parcours la liste des ports en cours alloués dynamiquement par le système (> 1024) , cf rpcinfo
-p Unix, netstat
-an sous Unix + windows, avec Runtime.exec() (bof aussi)
dmk04
Messages postés206Date d'inscriptionsamedi 29 octobre 2005StatutMembreDernière intervention 7 mars 2012 17 févr. 2006 à 10:06
Merci,
en fait je cherchai un port libre aléatoire, après avoir accepté une connexion et l'avoir accepté, le serveur envoyai une numéro de port libre pour discuter et ainsi laisser le port d'écoute libre. Ce que j'avais fait ne marchait pas car j'avais mi :
ServerSocket server = new ServerSocket();
au lieu de ServerSocket server = new ServerSocket(0);
Quand je demandais le port auquel il était attribué il me disai -1 ...
Bref c'est la solution 2) que je cherchais.