Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/06/2014, 11:42
rooger99
 
Fecha de Ingreso: junio-2014
Mensajes: 8
Antigüedad: 10 años, 3 meses
Puntos: 0
[Sockets Windows] Saber Ip del Cliente

Hola!

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:
sockaddr_in <estructura>;
accept(<socket del servidor>, (struct sockaddr*)&<en esta estructura>, NULL))
Pues bien, una vez hecho esto, en teoría había que cogerla de:
(llamamosle estr_sock a la estructura)

Cita:
estr_sock.sin_addr;
Para luego pasarla a una string (char *) de esta otra forma:

Cita:
char *aux;
aux = inet_ntoa(estr_sock);
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):

Cita:
printf("Ip: %s \n",aux);
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