Вы можете использовать функцию inet_ntoa()
для этого:
printf("IP of client: %s\n", inet_ntoa(cli.sin_addr));
Поместите это куда-нибудь после того, как вы accept()
установили соединение клиента.Для использования функции inet_ntoa()
необходимо включить соответствующий заголовочный файл arpa/inet.h
.В противном случае возвращенный (64-разрядный) указатель будет обрезан до (32-разрядного) целого числа, что приведет к segfault.
Вы должны всегда включить все предупреждения;это показало бы вам, что функция необъявлена.
Наконец, это должно привести к желаемому результату.