Как преобразовать sin_addr.S_un в char *? - PullRequest
1 голос
/ 04 апреля 2011

Мне нужно получить IP-адрес от отправителя после того, как он мне что-то отправил. Я использую сокет UDP, поэтому IP-адрес отправителя будет автоматически зарегистрирован в структуре sin_addr, так как я использую функцию recvfrom().

Как мне манипулировать структурой sin_addr и преобразовать ее в char *?

Спасибо.

1 Ответ

3 голосов
/ 04 апреля 2011

inet_ntoa ?

struct sockaddr_in in_sa; 
char* ip_addr_text = inet_ntoa( in_sa.sin_addr );

Если вы хотите сохранить его для дальнейшего использования, сделайте копию, например:

std::string ip_txt( inet_ntoa( in_sa.sin_addr ) );
// other stuff
std::cout << ip_txt << std::endl;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...