Вы не можете быть уверены, что учетная запись пользователя, под которой работает Ваша услуга даже, имеет полномочия остановить и перезапустить сервис.
После преобразования sockaddr
в sockaddr_in
он становится следующим:
struct sockaddr_in {
u_short sin_family;
u_short sin_port;
struct in_addr sin_addr;
char sin_zero[8];
};
Просто приведите всю структуру sockaddr
к sockaddr_in . Затем вы можете использовать:
char *ip = inet_ntoa(their_addr.sin_addr)
Чтобы получить стандартное представление IP.