Winsock récupération de data

Résolu
guitoulefoux Messages postés 152 Date d'inscription lundi 24 mars 2003 Statut Membre Dernière intervention 6 janvier 2009 - 12 sept. 2005 à 09:57
DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013 - 12 sept. 2005 à 12:07
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

DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
12 sept. 2005 à 10:10
printf("%s", DataBuffer);
3
cs_aardman Messages postés 1905 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 17 septembre 2012 3
12 sept. 2005 à 10:48
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);
3
DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
12 sept. 2005 à 12:07
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.
3
guitoulefoux Messages postés 152 Date d'inscription lundi 24 mars 2003 Statut Membre Dernière intervention 6 janvier 2009
12 sept. 2005 à 10:17
Merci pour ton aide

Pour un messagebox c'est la meme chose ?

GuitouLeFoux
"Le secret du sage est de briller dans l'ombre"
0
Rejoignez-nous