Как получить IP-адрес из сокета в Windows - PullRequest
5 голосов
/ 15 июля 2009

У меня есть гнездо DWORD в Windows. Мне нужно знать, если это соединение, которое выходит в Интернет, или это локальное соединение, в какой-то форме localhost. Есть ли хороший способ получить адрес, к которому подключен сокет в Windows, только из сокета? Или есть лучший способ определить, является ли соединение локальным или нет?

1 Ответ

5 голосов
/ 15 июля 2009

Вы, вероятно, хотите позвонить getpeername(). Используя его довольно просто, вы передаете указатель sockaddr и длину, и он заполняет данные для вас.

Что касается определения того, является ли соединение локальным, getaddrinfo() может предоставить вам список всех доступных локальных адресов. Вы бы сравнили результат getpeername() со списком локальных адресов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...