Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1298 connectés 

  FORUM HardWare.fr
  Programmation
  C

  Probleme Recv() [Winsock]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Probleme Recv() [Winsock]

n°1344355
kernox
Posté le 11-04-2006 à 17:48:15  profilanswer
 

Je devellope depuis peu un petit serveur web pour mon savoir personnel seulement voila a peine je commence que les problemes se posent...
 
J'avais jadis un probleme avec la fonction bind() mais il est maintenant résolus. Désormais c'est la fonction recv qui viens m'embeter.
 
En effet mon programme arrive a emmetre avec send() mais ne parviens pas a recevoir donc avec recv()
 
Voici mon code  
 

Code :
  1. #include <winsock2.h>
  2. #include <windows.h>
  3. int main()
  4. {
  5.       WSADATA wsaData;
  6.       int sock,sock2;
  7.      
  8.       if(WSAStartup(MAKEWORD(2,2),&wsaData))
  9.       {printf("Bug : WSAStartup\n" );}
  10.      
  11.       sock=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
  12.       if(sock==INVALID_SOCKET)
  13.       {printf("Bug : Socket\n" );}
  14.      
  15.       SOCKADDR_IN service;
  16.       service.sin_family=AF_INET;
  17.       service.sin_addr.s_addr=INADDR_ANY;
  18.       service.sin_port=htons(80);
  19.      
  20.       if((bind(sock,(SOCKADDR *)&service,sizeof(service)))==SOCKET_ERROR)
  21.       {printf("Bug : Bind <Liaison>\n" );}
  22.      
  23.       if(listen(sock,0)==SOCKET_ERROR)
  24.       {printf("Bug : Listen <Ecoute>\n" );}
  25.      
  26.       char *Buffer;
  27.      
  28.       while(1)
  29.       {
  30.              sock2=accept(sock,NULL,NULL);
  31.              //send(sock2,"test",sizeof("test" ),0);
  32.              recv(sock2,Buffer,sizeof(Buffer),0);
  33.              MessageBox(0,Buffer,Buffer,0);
  34.       }   
  35.                
  36. }


 
J'ai procédé à mes test avec le client telnet ainsi que le client putty mais le recv() me renvois toujours <null> (observé avec printf)

mood
Publicité
Posté le 11-04-2006 à 17:48:15  profilanswer
 

n°1344961
slash33
Posté le 12-04-2006 à 13:50:59  profilanswer
 

Code :
  1. char* Buffer; // chaîne vide non initialisée : ce n'est pas un buffer !
  2. recv(sock2, Buffer, sizeof(Buffer), 0);
  3. // sizeof(Buffer) == sizeof(char*) == 4
  4. // écrasement mémoire garanti


Y aurai pas un problème là par hasard ??


Message édité par slash33 le 12-04-2006 à 13:51:45
n°1344967
slash33
Posté le 12-04-2006 à 13:58:42  profilanswer
 

Voilà avec ça http://c.developpez.com/WalrusSock/
et ça http://msdn.microsoft.com/library/ [...] recv_2.asp
tu devrais t'en sortir :jap:


Message édité par slash33 le 12-04-2006 à 13:58:58

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  Probleme Recv() [Winsock]

 

Sujets relatifs
Probleme oracleProblème Zoom JFreeChart
Problème de sélection de feuille excelProblème avec exec(): lancement d'un processus
Problème pour déclaration d'un champ auto incrementProbleme script Upload [résolu]
Problème récupération Valeur de variableproblème avec le signe supérieur
[PHP][XSLT][entity] Problème avec les Entities ...[Résolu]Problème avec un script de dockbar type mac OS
Plus de sujets relatifs à : Probleme Recv() [Winsock]


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR