Teo@Unix
03-01-2011, 00:38
scusate ma ho una roba che non capisco stasera....
io ho un client che si connette e il mio server, il quale mi ritorna da accept() con un socket connesso al client con IP 192.168.0.2.
Ora io voglio un stringa char con l'indirizzo del client.
Per far questo solitamente uso getpeername(sock,clientaddr,&clientaddr_len)
dove clientaddr č *struct sockaddr, ok?
questa viene riempita con le info sul client, poi dato che sto usando AF_INET come dominio... faccio cosė:
s = (struct sockaddr_in*)clientaddr; // AF_INET domain
strncpy(ipstr,inet_ntoa(s->sin_addr),INET4_ADDRSTRLEN);
perchč diavolo non ho "192.168.0.2" in ipstr, mente ho invece un'altro indirizzo? Fra l'altro errato...
grazie dei suggerimenti.
io ho un client che si connette e il mio server, il quale mi ritorna da accept() con un socket connesso al client con IP 192.168.0.2.
Ora io voglio un stringa char con l'indirizzo del client.
Per far questo solitamente uso getpeername(sock,clientaddr,&clientaddr_len)
dove clientaddr č *struct sockaddr, ok?
questa viene riempita con le info sul client, poi dato che sto usando AF_INET come dominio... faccio cosė:
s = (struct sockaddr_in*)clientaddr; // AF_INET domain
strncpy(ipstr,inet_ntoa(s->sin_addr),INET4_ADDRSTRLEN);
perchč diavolo non ho "192.168.0.2" in ipstr, mente ho invece un'altro indirizzo? Fra l'altro errato...
grazie dei suggerimenti.