Как получить eth: IP-адрес клиента в UDP на языке C - PullRequest
2 голосов
/ 26 октября 2011

Мой адрес eth1: IP похож на: b: c: d

Что я получаю на сервере с адресом маршрутизатора (публичный ip): e: f: g: h

есть ли способ найти локальный IP-адрес системы в C и должен быть udp

1 Ответ

1 голос
/ 26 октября 2011

Если ваш клиент находится за NAT: брандмауэром или маршрутизатором, то нет, сервер не может напрямую увидеть IP-адрес клиента в локальной сети.Часто такие адреса являются «только для локальной сети» (не маршрутизируемыми), например, 192.168.xy или 10.xyz

Если вы используете собственный протокол, вы, конечно, можете встроить информацию в дейтаграмму и отправить ее по адресусервер, но имейте в виду, что при значительном изменении адресная информация совершенно бесполезна для сервера по вышеуказанной причине.

...