Error con el manejo de send y recv

Iniciado por Mr.Blue, 25 Noviembre 2010, 20:52 PM

0 Miembros y 1 Visitante están viendo este tema.

Mr.Blue

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

fary

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!
Un byte a la izquierda.

Mr.Blue

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