Hello,
je réalise en ce moment un petit programme réseau en java.
Voici le fonctionnement général de mon programme (pardons d'avance si je vs expose des évidence ou des grosses énormitées, ms je débute en prog réseau/thread):
J'ai un serveur, qui écoute sur un port quelconque. Des clients peuvent s'y connecter, et ces mêmes clients possèdent eux même un serveur (pour la communication entre clients) écoutant sur un port différent. L'application du seveur est bien sur distincte de celle du client. Je teste ainsi tout en localhost pour l'instant.
Je lance donc trois consoles: dans la première je lance le Main du serveur, dans les deux autres je lance les main de deux clients.
J'ai lors de la création du deuxième client l'exception suivante:
L'exception a lieu lors de cette instruction:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 java.net.BindException: Address already in use: JVM_Bind at java.net.PlainSocketImpl.socketBind(Native Method) at java.net.PlainSocketImpl.bind(Unknown Source) at java.net.ServerSocket.bind(Unknown Source) at java.net.ServerSocket.<init>(Unknown Source) at java.net.ServerSocket.<init>(Unknown Source)
L'erreur se produit donc lorsque je crée plusieurs clients: lors de la création du serveur du deuxième client, aprés avoir crée un premier client avec succés, l'exception est levée...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 this.server = new ServerSocket(port);
Je suis certain que les serveur des clients et du serveur écoutent sur un port différent...
Pourtant, j'ai testé dans un main la création de plusieurs serveurs sur des ports différents, aucune exception de ce type, dc je sèche complètement.
Si quelqu'un a une idée![]()
Merci d'avance
Partager