Winsock récupération de data [Résolu]

Signaler
Messages postés
152
Date d'inscription
lundi 24 mars 2003
Statut
Membre
Dernière intervention
6 janvier 2009
-
Messages postés
2671
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
6 février 2013
-
Bonjour,

Je suis en train de découvrir Winsock en cpp.
Grace à MSDN, j'ai réussi à créer mon premier client server, mais j'ai un petit pb de comprehension.
Le code fournit par msdn est ceci:
if ((Ret recv(NewConnection, DataBuffer, sizeof(DataBuffer), 0)) SOCKET_ERROR)
{
printf("recv failed with error %d\n", WSAGetLastError());
closesocket(NewConnection);
WSACleanup();
return 0;
}


printf("We successfully received %d byte(s).\n", Ret);

"Ret" est en fait la taille du packet que j'ai envoyé, mais comment puis-je faire pour récupérer le texte que j'ai envoyé.

Dans mon exemple j'ai envoyé "HELLO" donc Ret m'indique 5. Que dois-je faire pour que Ret m'indique "HELLO".

Merci pour votre aide.

GuitouLeFoux
"Le secret du sage est de briller dans l'ombre"

4 réponses

Messages postés
2671
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
6 février 2013
2
printf("%s", DataBuffer);
Messages postés
1905
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
17 septembre 2012
2
Salut,

Et si on veut etre secure, on rajoute un '\0' a la fin de la chaine avant de l'afficher.

DataBuffer[Ret] = 0;

printf("%s\n", DataBuffer);
Messages postés
2671
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
6 février 2013
2
Pour une MessageBox c'est exactement la meme chose.

MessageBox(hWnd, DataBuffer, "Titre", MB_OK);

Comme aardam te l'a conseillé, rajoute au cas ou le '\0' a la fin de DataBuffer.
Messages postés
152
Date d'inscription
lundi 24 mars 2003
Statut
Membre
Dernière intervention
6 janvier 2009

Merci pour ton aide

Pour un messagebox c'est la meme chose ?

GuitouLeFoux
"Le secret du sage est de briller dans l'ombre"