Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Mr.Blue en 25 Noviembre 2010, 20:52 pm



Título: Error con el manejo de send y recv
Publicado por: Mr.Blue en 25 Noviembre 2010, 20:52 pm
hola gente, bueno les comento el problema, estoy usando las funciones send y recv y no logro poder enviar o recivir datos, en este caso mensajes.

Pongo el codigo

Cliente

Código
  1. val=connect (sock_1, (struct sockaddr *) &serv, sizeof (sockaddr));
  2. while (val==-1)
  3. {
  4. Sleep (1000);
  5. val=connect (sock_1, (struct sockaddr *) &serv, sizeof (sockaddr));
  6. }
  7.  
  8. printf ("Conectando...\n Conectado con: %s\n\a", inet_ntoa (serv.sin_addr));
  9.    printf ("Ingrese mensaje a enviar:");
  10.    fgets (ibuffer, strlen (ibuffer), stdin);
  11. send(sock_1,ibuffer, sizeof (ibuffer), 0);     //ENVIA MENSAJE
  12. printf ("mensaje enviado:%s \n", ibuffer);
  13. while (b!=0){
  14.  
  15. recv (sock_1, vbuffer, sizeof (vbuffer), 0);  //RESIVO MENSAJE
  16. //std::string sibuffer (ibuffer);
  17. printf ("Datos recividos:%s\n",vbuffer);
  18.  
  19.    printf ("Ingrese mensaje a enviar:");
  20.    fgets (ibuffer, strlen (ibuffer), stdin);
  21. b=send(sock_1,ibuffer, sizeof (ibuffer), 0);
  22. printf ("mensaje enviado:%s \n", ibuffer);
  23.  
  24.    getchar ();
  25.    }
  26.  


Servidor

Código
  1.    b=recv (sock_1, vbuffer, sizeof (vbuffer), 0);  //RESIVO
  2. //std::string svbuffer (vbuffer);
  3. printf ("datos recividos:%s\n",vbuffer);
  4.  
  5.    while (b!=0){
  6.  
  7.    send(sock_1,"Prueba de mensaje", 17, 0);  //ENVIO
  8.    printf ("mensaje enviado \n");
  9.  
  10.        printf ("Resepcion de mensajes\n");
  11. b= recv (sock_1, vbuffer, sizeof (vbuffer), 0);
  12. //std::string svbuffer (vbuffer);
  13. printf ("datos recividos:%s\n",vbuffer);
  14.  
  15. getchar ();
  16.    }
Código
  1. //vbuffer e ibuffer son locales del main
  2. char vbuffer[512], ibuffer[512];


Citar
Me faltaria limpear el buffer pero de todas formas no logro conseguir enviar ni recivir mensajes


Título: Re: Error con el manejo de send y recv
Publicado por: fary en 26 Noviembre 2010, 19:30 pm
Esque estas usando mal los sockets, no se pueden usar api asi como asi conectar y enviar.

Mirate el tutorial de winsock de mazard, lo puedes encontrar en su web (www.mazard.info)

salu2!


Título: Re: Error con el manejo de send y recv
Publicado por: Mr.Blue en 26 Noviembre 2010, 20:01 pm
los socket estan es una parte del code eso, la parte que falla. La conexion entre cliente y servidor anda, se conectan.
El problema esta en cuanto quiero mandar un mensaje al servidor y viceversa.
De todas formas le echo un ojo al tuto de mazard
Saludos