Buenas
Tengo un pequeño problemita en una aplicacion que estoy haciendo, y la verdad no entiendo por que.
Haber si alguien que maneje un poco mas este tema me puede dar una mano.
Estoy creando una coneccion por sockets entre un cliente y un servidor, algo asi:
struct sockaddr_in dir;
int des;
dir.sin_addr.s_addr = inet_addr(127.0.0.1);
dir.sin_port = htons(32000);
dir.sin_family = AF_INET;
memset((char *)&(dir.sin_zero), 0, 8);
des = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
bind(des, (struct sockaddr *)&dir, sizeof(dir));
listen(des, 10);
Despues hago el accept() y llamo a recv() dentro de un bucle.
La coneccion entre el servidor y el cliente se establece sin problemas.
Pero a la hora de anviar datos, tanto el recv() del server como el send() del cliente me devuelven -1.
Supuestamente todas las funcionces de la libreria socket guardan en errno el valor del ultimo error que se produjo.
Me fije cual era el valor despues de llamar a las funciones y es 0. Lo que no tiene sentido.
El problema en realidad es que necesito usar las funciones para conocer el estado de la coneccion.
Alguien tiene idea si hay algun error al crear el socket, o si es un tema de configuracion?
EDITO:
Me olvide de decir que el envio de datos se produce sin ningun problema. O sea que supuestemente el valor de retorno de send() y recv() deberia ser la cantidad de byter enviaods/recividos.
Muchas gracias de antemano.
Saludos