Problem avec la fonction recv()
dydy
-
fiddy Messages postés 11653 Statut Contributeur -
fiddy Messages postés 11653 Statut Contributeur -
Bonjour,
mon problem est que quand jenvoi un char a un send() et que je le recoit avec un recv(), le recv() ne le recoi pas corectement. code d'exemple :
************************************************
//cote client
send(sock, "cmd", sizeof("cmd"),0);
//cote serveur
recv(sock, commande, sizeof(commande), 0)
char commande[1024];
if ( commande == "cmd")printf("commande correcte")
else printf("commande incorrecte");
************************************************
je vous en pri aidéer moi j'ai chercher toute la semaine avans de le poster ici.
merci d'avans pour votre aide.
++.
mon problem est que quand jenvoi un char a un send() et que je le recoit avec un recv(), le recv() ne le recoi pas corectement. code d'exemple :
************************************************
//cote client
send(sock, "cmd", sizeof("cmd"),0);
//cote serveur
recv(sock, commande, sizeof(commande), 0)
char commande[1024];
if ( commande == "cmd")printf("commande correcte")
else printf("commande incorrecte");
************************************************
je vous en pri aidéer moi j'ai chercher toute la semaine avans de le poster ici.
merci d'avans pour votre aide.
++.
A voir également:
- Problem avec la fonction recv()
- Fonction si et - Guide
- Fonction miroir - Guide
- Fonction moyenne excel - Guide
- Fonction remplacer sur word - Guide
- Fonction somme excel - Guide
3 réponses
Bonjour,
Je comprends pas comment tu fais pour initaliser ta variable après l'avoir utilisé pour ensuite récupérer son contenu :
recv(sock, commande, sizeof(commande), 0)
char commande[1024];
Là ce que tu fais c'est que tu récupères ta valeur dans commande, mais ensuite tu réinitialise commande avec ton char commande[1024]; !!!
Il n'y en a nullement besoin. sinon commande sera toujours vide avant de tester ce qu'il contient.
Et pour vérifier ce qu'il y a dans commande, fais donc un affichage juste après ton recv()
Je comprends pas comment tu fais pour initaliser ta variable après l'avoir utilisé pour ensuite récupérer son contenu :
recv(sock, commande, sizeof(commande), 0)
char commande[1024];
Là ce que tu fais c'est que tu récupères ta valeur dans commande, mais ensuite tu réinitialise commande avec ton char commande[1024]; !!!
Il n'y en a nullement besoin. sinon commande sera toujours vide avant de tester ce qu'il contient.
Et pour vérifier ce qu'il y a dans commande, fais donc un affichage juste après ton recv()
je vien de me rendre conte que meme si je compar un char avec une chane de caractere sa ne marche pas
code sans socket:
************************************************
char commande[] = "cmd";
if ( commande == "cmd") printf("commande correcte")
else printf("commande incorrecte");
************************************************
et sa me dit commende incorecte.
aurier vous une idee je suis perdu.
code sans socket:
************************************************
char commande[] = "cmd";
if ( commande == "cmd") printf("commande correcte")
else printf("commande incorrecte");
************************************************
et sa me dit commende incorecte.
aurier vous une idee je suis perdu.
vola le bon code:
************************************************
//cote client
send(sock, "cmd", sizeof("cmd"),0);
//cote serveur
char commande[1024];
recv(sock, commande, sizeof(commande), 0)
printf("commande : ", commande);
if ( commande == "cmd") printf("commande correcte")
else printf("commande incorrecte");
************************************************
le printf mafiche le bon resulta c'est a dire "cmd".
merci pour ta remarque arth et a ++.