Bonjour,
J'attend qu'un client se connecte à un port choisit dans une classe ConnectionController.
Lorsque la connexion est établit, je lance un contôleur de maintient de la connexion (watchdog) pour vérifier que le client est toujours connecté. Pour cela j'utilise un Thread qui envoi périodiquement une donnée et qui contrôle que le client envoi bien la réponse en retour. Dans le cas ou je n'ai aucune réponse du client, je voudrais arrêté le Thread de contrôle de la connexion et retourner dans le ConnectionController pour attendre une nouvelle connexion de client.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ServerSocket serverSocket = new ServerSocket(portLecture); Socket socket = (Socket) serverSocket.accept();
Pas de soucis pour arrêté le Thread Watchdog, mais lorsque je rappelle mon attente de connexion, j'ai un message :
Pourtant j'ai essayé les méthodes suivantes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part java.net.BindException: Address already in use
ou
Code : Sélectionner tout - Visualiser dans une fenêtre à part serverSocket.close();
sans résultats
Code : Sélectionner tout - Visualiser dans une fenêtre à part socket.close();
Alors je voudrais savoir comment libérer cette adresse pour pouvoir rouvrir une Socket sur le même port que précédemment.
Partager