Buenas, pues como ya sabeis estoy haciendo un programilla con sockets. El tema consiste en que un servidor almacena nombres de clientes con sus ips en un fichero. Cuando algun cliente pide una ip de otro cliente el servidor se la da. Hasta ahora ya tengo hecho el registro de clientes en el fichero, y la entrega de ips a los clientes, pero tengo 2 agujeros:
A) El primero, cuando el servidor envia una ip al cliente que la solicita, el cliente no la recibe hasta que no aprieta enter. Es como si se quedara en el buffer. Cuando el cliente pulsa enter ya la recibe.
El envio es este:
send(newsock,&(reg_actual.ipreg),BUFFSIZE,0);
En cambio si solo envio esto si funciona, en el mismo lugar
send(newsock,"200 ",BUFFSIZE,0);
Qué puede ser?
B) Quiero controlar si algun cliente se da de baja del servidor para ponerle en el fichero que no esta presente. Pero no sé como hacerlo, porque el cliente cuando se da de baja hace simplemente QUIT. Por tanto deberia tener identificado al cliente en todo momento por su nombre de usuario, pero este nombre lo recojo dentro de una funcion y no lo tengo presente en todo el programa. No se si me he explicado bien.
Bueno, lo siento por el toston, toda ayuda sera buena. Gracias!!!!