inet_ntoa espera que le envies una struct in_addr, que es el campo 'sin_addr' de struct sockaddr_in, dicho de otra forma:
Con esto te deberia funcionar. Tambien tienes la funcion getpeername:
Código C:
Ver originalSOCKADDR_IN client_info;
memset(&client_info
, 0, sizeof(client_info
)); getpeername(s_cliente, &client_info, sizeof(client_info));
printf("%s", inet_ntoa
(client_info.
sin_addr));
Saludos
vosk