Bonjour à tous !
J'ai un soucis sur mon appli java.
Je m'explique :
- J'ai une appli qui tourne sous Windows Xp et qui "parle" en TCP sur le port 5004
- J'ai ensuite mon appli java, qui tourne sous Linux. Cette appli java créé X Threads (on va dire X = 4).
Mes 4 Threads font un truc du style :
C'est vraiment du résumé.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 protected Socket _socketInstr; run() { _socketInstr = new Socket(getData().getHost(), 5004); while(j'en ai pas marre) { _socketInstr.read(); _socketInstr.write(); blablabla } }
En gros chaque Thread a son propre objet java Socket mais qui parle au même host et sur le même port.
Bref par moment je me retrouve avec des Exceptions : SocketException : Broken Pipe sur des opérations de lecture/écriture sur la socket.
N'y connaissant rien, je me suis dit, on va juste créer un objet java Socket pour les 4 threads. Avec cette méthode, je n'ai plus de problèmes de Broken Pipe, mais je me demande qd même pourquoi ?
Je rajoute également que, j'ai essayé de faire dialoguer 4 Threads avec une autre appli (tournant ce coup ci sous linux et non pas windows xp) sur le même port, et j'ai pas constaté de pb de Broken pipe...
Si vous avez des remarques/pistes n'hésitez pas ^^
Merci
Partager