[debutant] Détecter si un port est utilisé
bonjour,
je désire savoir s'il existe un moyen en java pour savoir si un port est ouvert.
j'ai une solution pas très propre qui consiste à tenter la création d'un socketServer avec le port qui m'intéresse. Et si une exception est levée alors cela signifie que le port est occupé et ma méthode s'arrête. sinon je ferme la socket précédement créée pour ensuite utiliser mon port.
voici mon code
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| //test pour savoir si le port est déjà utilisé
ServerSocket test = null;
try{
test = new ServerSocket(port);
}catch(Exception e){
//port occupé --> fin de la méthode
System.out.println("erreur");
stop();
}
//le port n'est pas utilisé
try {
//fermeture du port
test.close();
}
catch (IOException e2) {
}
//ma méthode peut utiliser le port |
Cette solution est pas très belle. Aussi je recherche une méthode java plus simple.
En vous remerciant d'avance