Bon je vais essayer de faire simple.
voici a quoi mon code ressemble :

cote serveur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
while(...){
    in = new ObjectInputStream(...)
    in.read();
    out = new ObjectOutputStream(...)
    out.write(...);
}
cote client:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
while(...){
    out = new ObjectOutputStream(...)
    out.write(...);
    in = new ObjectInputStream(...)
    in.read();
}
mon probleme survient lorsqu'il y a beaucoup d'iterations a effectuer. L'erreur correspondante est :
java.net.SocketException: Software caused connection abort: socket write error
Je suppose que c'est du a une fuite de memoire ou quelque chose comme ca, car j'utilise j'appelle des constructeur a chaque iteration de la boucle.
j'ai donc essaye de rendre les varialbes null et d'appeller le garbage collector, mais rien y fait.

Je pense que la solution serait de sortir les appels de constructeur de la boucle :

cote serveur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
in = new ObjectInputStream(...)
out = new ObjectOutputStream(...)
while(...){
    in.read();
    out.write(...);
}
cote client:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
out = new ObjectOutputStream(...)
in = new ObjectInputStream(...)
while(...){
    out.write(...);
    in.read();
}
Mais la un autre probleme se pose :
d'apres la javadoc new ObjectInputStream(...) est bloquant, il reste bloqué jusqua ce que l'outputstream correspondant soit "ecrit".
que faire ?
je peux fournir des sources si necessaire.

merci d'avance