cs_epoc
Messages postés87Date d'inscriptionmardi 28 mai 2002StatutMembreDernière intervention25 octobre 2006
-
30 août 2003 à 17:12
cs_aardman
Messages postés1905Date d'inscriptionmercredi 22 janvier 2003StatutMembreDernière intervention17 septembre 2012
-
30 août 2003 à 19:04
hum... encore moi!
g un petit prob avec la fonction recv() ou send(), je c pas trop.
cs_aardman
Messages postés1905Date d'inscriptionmercredi 22 janvier 2003StatutMembreDernière intervention17 septembre 20123 30 août 2003 à 17:21
Salut,
Dans ton appel recv() il faut passer la taille du buffer de reception en 3eme argument, toi tu as utilisé strlen, et comme ton buffer est vide, ca doit retourner 0.
Essaye plutot:
recv(ClientSocket, recvbuffer, sizeof(char[1024]), 0);
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 30 août 2003 à 17:22
buffer="NEW MSG"; ????
tu changes l'adresse du buffer, pourquoi ?
Le mfc fait vraiment des degats dans les neurones.
strcpy(buffer, "NEW MSG");
BruNews, ciao...
cs_aardman
Messages postés1905Date d'inscriptionmercredi 22 janvier 2003StatutMembreDernière intervention17 septembre 20123 30 août 2003 à 18:10
C'est a cause de tes alloc bizzares ca...
dans le serveur et le client declare ton buffer comme ca:
char buffer[1024]; // simple tableau de char
Utilise strcpy() pour remplir ton buffer dans le client.
dans le client: send() avec strlen() en 3eme argument,
dans le serveur: recv() avec sizeof() en 3eme argument.
La ca devrait marcher.
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_aardman
Messages postés1905Date d'inscriptionmercredi 22 janvier 2003StatutMembreDernière intervention17 septembre 20123 30 août 2003 à 18:37
Tu lis mes messages a moitier ...
On reprend:
si tu declare ton buffer comme ca:
char *buffer = new char[1024];
et que tu fais strlen(buffer), cela te retourne 4.
Voila pourquoi tu recois 2 paquets de 4 octets.
Maintenant, si tu declares ton buffer je t'ai dis:
char buffer[1024];
et que tu passe strlen(buffer)+1 en 3eme argument de send() (javais oublié le +1 dans mon precedent post) cela retourne le nombre d'octet de la chaine + le caractere null.