Comment attendre un ServerSocket connexion sur un Socket client
Je me demande, comment je peux attendre un ServerSocket de la connexion de Socket côté client.
Quand j'execute le serveur (envoyer) tout d'abord, il attend le client, la connexion avec la méthode ServerSocket.accepter. Le problème est que le client (recevoir) ne peut être exécutée sans que le serveur a été exécuté en premier. Je voudrais ajouter une condition pour permettre au client d'attendre la connexion à partir du serveur. Est-il possible?
ENVOYER (serveur)
ServerSocket servsock = new ServerSocket(1234);
Socket sock = servsock.accept();
RECEVOIR (client)
Socket sock = new Socket(from, 1234);
ERREUR (client)
java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:351)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:213)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:200)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:432)
at java.net.Socket.connect(Socket.java:529)
at java.net.Socket.connect(Socket.java:478)
at java.net.Socket.<init>(Socket.java:375)
at java.net.Socket.<init>(Socket.java:189)
Merci.
Vous devez vous connecter pour publier un commentaire.
Il n'y a pas de moyen de le faire. Vous aurez pour intercepter l'exception du côté du client, et de mettre en œuvre un mécanisme de nouvelle tentative vous-même.
Pseudo-code:
Être prudent si vous avez un GUI: vous pourriez avoir besoin pour mettre en œuvre certains que dans un thread séparé ou utilisez des minuteries pour éviter le gel de votre INTERFACE utilisateur.
Merci à Mat, il fonctionne.
sock
ne peut pas être null où yo sont la tester. Justebreak
.