Tengo una duda respecto a la Ip del cliente que se conecta a mi server.
La cosa, es que el otro dia empezé a buscar info para sacarla, y buscando encontre que se guarda en la estructura sockaddr en el accept de esta forma:
Cita:
Pues bien, una vez hecho esto, en teoría había que cogerla de:sockaddr_in <estructura>;
accept(<socket del servidor>, (struct sockaddr*)&<en esta estructura>, NULL))
accept(<socket del servidor>, (struct sockaddr*)&<en esta estructura>, NULL))
(llamamosle estr_sock a la estructura)
Cita:
Para luego pasarla a una string (char *) de esta otra forma:estr_sock.sin_addr;
Cita:
Pues bien, el problema es que al imprimirlo por pantalla, la ip que me sale es "204.204.204.204" (lo imprimo por pantalla de esta forma):char *aux;
aux = inet_ntoa(estr_sock);
aux = inet_ntoa(estr_sock);
Cita:
Por si preguntais, he probado hacerlo de forma local, y desde otra red wifi, y en los dos casos me sale el mismo número, no lo entiendo :S printf("Ip: %s \n",aux);