Je développe un jeu en applet et j'ai le problème suivant.
Je communique à l'aide de sockets entre mon serveur et mes clients, tout se passait bien jusqu'à ma fameuse erreur :
java.io.IOException: Write end dead
Il semblerait (aux vues des informations récoltées) que ce problème vienne de mon Buffer qui serait, soit déjà occupé, soit trop remplit. Pourtant je gère mon entrée client comme ceci :
Je travail avec le framework Pulpcore et mon message d'erreur est le suivant:
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
17
18
19
20
21
22
23
24
25
26
27
28
29
30 public void run() { try { while (true){ ligne = in.readLine(); this.gestionJeu.receptionServeur(ligne); } } catch (IOException e){ CoreSystem.print(e);; } finally{ if(in!=null){ try{ in.close(); }catch (IOException e){ CoreSystem.print(e);; } } if(socket!=null){ try{ socket.close(); }catch (IOException e){ CoreSystem.print(e);; } } } }
Le plus étrange c'est que la communication se passe bien entre serveur et client avant l'apparition de cette erreur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 java.io.IOException: Write end dead at java.io.PipedInputStream.read(PipedInputStream.java:294) at java.io.PipedInputStream.read(PipedInputStream.java:361) at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:264) at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:306) at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:158) at java.io.InputStreamReader.read(InputStreamReader.java:167) at java.io.BufferedReader.fill(BufferedReader.java:136) at java.io.BufferedReader.readLine(BufferedReader.java:299) at java.io.BufferedReader.readLine(BufferedReader.java:362) at pulpcore.player.PulpCorePlayer$1.run(PulpCorePlayer.java:284)
Si quelqu'un à une petite idée sur le problème...
Partager