Problème échanges client-serveur (Résolu) [Java] - Java - Programmation
Marsh Posté le 25-05-2006 à 12:31:30
tu es sûr de ce que tu fais avec les Object Input/Output stream là?
Marsh Posté le 25-05-2006 à 12:36:15
le client envoie les données "joueur" : oos.writeObject(joueur); et reçoit les données du serveur ("baseDonnees" ) : baseDonnees = (Donnees)ois.readObject();
Le serveur lui fait l'inverse : il reçoit les données "joueur" et envoie aux clients les données "baseDonnees" :
joueur = (DataPlayer)ois.readObject();
serveur.sendAll(baseDonnee);
J'avoue que j'ai un peu de mal à saisir comment envoyer des objets, mais ça fonctionne bien une première fois, donc je ne vois pas où est mon erreur
Marsh Posté le 26-05-2006 à 14:53:36
Bon j'ai tout repris à plat et maintenant je n'ai plus de plantages
Par contre le premier echange se passe bien, mais dès le second le serveur ne semble pas recevoir les infos mises à jour.
En effet lorsque je tape une phrase à envoyer au serveur, si c'est la premiere il la reçoit bien mais dès la deuxieme il ré-affiche la première
Voilà le nouveau code :
Coté serveur :
Code :
|
Et coté client :
Code :
|
Voilà à mon avis il y a quelque chose que je n'ai pas compris dans les échanges entre clients et serveur en java mais je n'arrive pas à mettre le doigt dessus
Marsh Posté le 26-05-2006 à 16:05:01
Tu voudrais pas essayer d'isoler un peu le probleme parce que lire tes pavés avec potentiellement 90% de code qui n'a rien a voir avec le probleme c'est lourd.
Ca te permettrai aussi de reflechir un peu et de dérouler ton programme dans ta tete (puisque t'as pas l'air d'avoir de debugger sous la main)
Marsh Posté le 26-05-2006 à 16:48:30
boulax a écrit : Tu voudrais pas essayer d'isoler un peu le probleme parce que lire tes pavés avec potentiellement 90% de code qui n'a rien a voir avec le probleme c'est lourd. |
Voilà prise isolément la partie "serveur" qui s'occupe de récupérer les infos d'un client et d'envoyer à tous les clients ses données :
Code :
|
et pour le Client, qui reçoit les données du serveur et envoie ses infos :
Code :
|
Voilà et si la première boucle semble se dérouler correctement, dès la deuxième boucle on dirait que le programme envoie toujours les mêmes données
Marsh Posté le 26-05-2006 à 18:13:41
En fait j'ai trouvé, il fallait utiliser writeUnshared au lieu de writeObject
Marsh Posté le 31-05-2006 à 10:59:12
bonjour
voila g eu les codes source d'un logiciel que je devai mettre sur pieds pour mon memoire.
mais voila:il se compose de plusieurs fichiers.
mon probleme est de pouvoir extirper l'arboressence pour la compilation
merci pour votre aide
Marsh Posté le 25-05-2006 à 12:24:51
Salut,
Dans le cadre d'un projet pour mon école, je dois programmer un petit jeu réseau.
Le problème est que l'échange de données entre le client et le serveur se fait bien au début, mais dès que le serveur lance le thread s'occupant du client, la réception plante
voilà le code concerné :
Voici la partie du code du serveur, il plante à l'endroit avec les '###" et envoie comme erreur
java.lang.NullPointerException
Voilà le code du client, qui plante à l'endroit avec les '###" avec le message suivant :
java.net.SocketException: Software caused connection abort: recv failed
Désolé pour la longueur, et merci d'avance si vous voyez d'où peut venir mon problème
Message édité par Atropos le 26-05-2006 à 18:14:08