[#] Как узнать свой внешний IP из программы
habrabot(difrex,1) — All
2017-08-31 14:00:06


![][1]


При написании различных программ для работы с сетью, особенно p2p систем, время от времени возникает необходимость узнать внешний IP своего компьютера из программы (тот адрес, по которому Ваш компьютер доступен из Большого Интернета). Часто возникает искушение [пойти легким путем][2] и использовать внешние WEB-сервисы, которые по http возвращают Вам IP, или самому развернуть таковой. Хотя такой способ решения задачи и работоспособен, он тем не менее, имеет ряд недостатков:


* При использовании собственного сервера – нужно где-то его держать и поддерживать, заодно и c соответствующим доменным именем. В случае выхода его из строя, или принудительного отзыва домена, вся Ваша p2p сеть выходит из строя.
* При использовании внешнего сервера – Вы вводите зависимость своей системы как от его работоспособности, так и от формата ответов, который вообще никак не стандартизирован, и который владелец сервера может поменять в любой момент. С теми же последствиями для вашей сети.
* http, которым советуют пользоваться – базируется на tcp, то есть протокол сравнительно тяжеловесный, требующий установки соединения и тп. В общем, пользоваться можно, но перерасход ресурса как компьютера, так и сети налицо.



[Читать дальше →][3]

[1]: https://habrastorage.org/web/189/5ef/b42/1895efb4257e43669b83a0cda0ae5970.jpg
[2]: http://www.programmersforum.ru/showthread.php?t=63677
[3]: https://habrahabr.ru/post/335458/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut