Problemme avec les sockets

cs_sirion Messages postés 9 Date d'inscription mardi 7 octobre 2003 Statut Membre Dernière intervention 20 mai 2005 - 20 mai 2005 à 13:09
nicooooo1 Messages postés 58 Date d'inscription mercredi 2 février 2005 Statut Membre Dernière intervention 4 février 2012 - 20 mai 2005 à 21:05
Bonjour, j'ai un petit problemme avec les sockets.



donc voila, j'ai essayer de faire un serveur/client qui recois 2msg
chacun, mais ca merdouille du coté serveur, il recois les 2 msg
au premier recv().

c'est assez bizard car le code coté serveur et client est identique.



voila le code: http://e.besson.online.fr/socket.zip



donc comment pour bien recevoir et envoyer des msg ? j'ai deja etais
sur plusieur forums, mais sans resultat. j'espere qu'ici j'aurais la
soluction.

2 réponses

cs_aardman Messages postés 1905 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 17 septembre 2012 3
20 mai 2005 à 15:54
Salut,
En TCP cela est normal.
Pour pouvoir séparer les messages recus du coté serveur, il faut:
- soit marquer la taille du message au debut du message (donc rajouter une petite entete avant chaque message);
- soit rajouter des caracteres a la fin du message qui te serviront a retrouver cette fin de message du coté serveur (dans pas mal de protocols, c'est \r\n qui est utilisé pour marquer la fin de message par exemple).
0
nicooooo1 Messages postés 58 Date d'inscription mercredi 2 février 2005 Statut Membre Dernière intervention 4 février 2012
20 mai 2005 à 21:05
Salut,

En fait je pense que le soucis vient du fait que

le client envoit les 2 messages avant que le serveur les telecharge

alors soit tu fais une en-tete, soit a le reception du 1er paquet

le serveur envoit une reponse, soit( solution po tres gracieuse )

entre l envoi des 2 messages, sur le client, tu met un petit Sleep



Voila j espere ne pas me planter

Ciao Ciao
0
Rejoignez-nous