Problème de sockets - Java - Programmation
Marsh Posté le 29-04-2004 à 11:17:18
euuh....qu'est-ce que tu veux dire par "qui reçoit des reqûetes en Java"???
Marsh Posté le 29-04-2004 à 11:24:33
le client est en java, c'est tout ce que ça veut dire
ce qui est envoyé, c'est du bête texte...
Marsh Posté le 29-04-2004 à 15:25:42
en passant le serveur en Java, y'a toujours le problème
voilà le code succint du serveur :
Code :
|
et voilà le code du client
Code :
|
voilà, c'est quasiment le code qu'on trouve sur le tutorial de SUN, ça marche nickel quand le client tourne sous windows, mais quand le client tourne sous Linux, ça marche pas... toutes les connexions passent en TIME_WAIT, et quand on atteinte le maximum du système, y'a crash du serveur...
Marsh Posté le 29-04-2004 à 16:46:38
c'est bon les gars laissez tomber, les petits pères du forum SUN ne se touche pas le nombril en se la jouant devant les n00bs
Marsh Posté le 29-04-2004 à 17:09:39
Predicator a écrit : c'est bon les gars laissez tomber, les petits pères du forum SUN ne se touche pas le nombril en se la jouant devant les n00bs |
Sodo-gravier-ban
Marsh Posté le 29-04-2004 à 17:15:02
n'empêche c'est marrant de voir que quand c'est une question technique y'a personne, mais pour sortir des trolls, là ça y va
Marsh Posté le 30-04-2004 à 08:31:11
Predicator a écrit : n'empêche c'est marrant de voir que quand c'est une question technique y'a personne, mais pour sortir des trolls, là ça y va |
Ce genre de remarques, t'es sympa, tu t'en passes ...
Et je remarque que tu n'expliques pas la solution ... Sympa pour les autres qui auront le même problème plus tard ...
Marsh Posté le 30-04-2004 à 10:19:20
le TIME_WAIT fait partie du protocole TCP/IP, et on ne peut pas s'en débarrasser. si on tombe sur un tel problème, il faut revoir son design, car il n'y a pas d'autre solution. le fait que ça marche sous Windows est parce qu'il y a un bug d'implémentation des sockets dans la JVM de SUN pour Windows...
Marsh Posté le 29-04-2004 à 11:05:25
Bonjour,
j'ai développé un serveur en C++ qui reçoit des requêtes en Java.
Le serveur tourne sous Linux, et Java on s'en fout un peu
le problème est que quand je fais tourner le client sous Windows, tout se passe bien :à la fin de chaque requête, les sockets sont bien fermées, mais quand je fais tourner le client sous UNIX/Linux, rien ne va plus : toutes les sockets passent en TIME_WAIT et au bout de 5 requêtes, le serveur plante (Broken Pipe).
je pense que ça vient d'une interprétation différente du code Java en fonction de la plateforme. Vous avez une idée ? parce que là je ne sais plus trop quoi faire...
Merci