Bonjour,
Je suis entrain de travailler sur une application qui utilise des sockets TCP.
D'un cote j'ai un client qui fait des envois de messages et donc le serveur lui s'occupe de les recevoir.
Le probleme est que lorsque je debranche le cable reseau l'application cliente continue d'envoyer des messages. je teste donc socket.isConnected(), socket.isClose(), socket.isBound ... mais leur etat ne change pas je ne peux donc pas savoir que le cable n'est plus connectee. De plus je n'est pas d'exception quand je fait : socket.getOutputStream().
Ma question est donc comment savoir que l'envoi ne peut pas etre realise et que le cable n'est plus branche.
voila le code ou je realise l'envoi des messages :
Code :
- public void send2Serial(String message)
- {
- System.err.println("Send : "+message);
- System.err.println("Input : "+this.socket.isInputShutdown());
- System.err.println("Output : "+this.socket.isOutputShutdown());
- System.err.println("Connect : "+this.socket.isConnected());
- System.err.println("Close : "+this.socket.isClosed());
- System.err.println("Bound : "+this.socket.isBound());
- try{
- PrintWriter writ = new PrintWriter(new BufferedWriter(new OutputStreamWriter(this.socket.getOutputStream())),true);
- writ.println(message);
- }
- catch(IOException ioe)
- {
- System.err.println("Erreur d'ecriture!" + ioe.toString());
- this.testAndReconnect();
- }
- System.err.println("Send OK : "+message);
- }
|
Merci d'avance pour votre aide.
Message édité par kenumdrum le 27-05-2005 à 09:58:07