Test Foro de elhacker.net SMF 2.1

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 (cpp) [Seleccionar]
val=connect (sock_1, (struct sockaddr *) &serv, sizeof (sockaddr));
while (val==-1)
{
Sleep (1000);
val=connect (sock_1, (struct sockaddr *) &serv, sizeof (sockaddr));
}
   
printf ("Conectando...\n Conectado con: %s\n\a", inet_ntoa (serv.sin_addr));
   printf ("Ingrese mensaje a enviar:");
   fgets (ibuffer, strlen (ibuffer), stdin);
send(sock_1,ibuffer, sizeof (ibuffer), 0);     //ENVIA MENSAJE
printf ("mensaje enviado:%s \n", ibuffer);
while (b!=0){
         
recv (sock_1, vbuffer, sizeof (vbuffer), 0);  //RESIVO MENSAJE
//std::string sibuffer (ibuffer);
printf ("Datos recividos:%s\n",vbuffer);
   
   printf ("Ingrese mensaje a enviar:");
   fgets (ibuffer, strlen (ibuffer), stdin);
b=send(sock_1,ibuffer, sizeof (ibuffer), 0);
printf ("mensaje enviado:%s \n", ibuffer);

   getchar ();
   }


Servidor

Código (cpp) [Seleccionar]
   b=recv (sock_1, vbuffer, sizeof (vbuffer), 0);  //RESIVO
//std::string svbuffer (vbuffer);
printf ("datos recividos:%s\n",vbuffer);
   
   while (b!=0){

   send(sock_1,"Prueba de mensaje", 17, 0);  //ENVIO
   printf ("mensaje enviado \n");

       printf ("Resepcion de mensajes\n");
b= recv (sock_1, vbuffer, sizeof (vbuffer), 0);
//std::string svbuffer (vbuffer);
printf ("datos recividos:%s\n",vbuffer);

getchar ();
   }


//vbuffer e ibuffer son locales del main
char vbuffer[512], ibuffer[512];



CitarMe 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