Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Сети > Обход double-NAT. UPnP + публикация своего IP:порт


Автор: aversilov 4.10.2016, 23:18
Будьте добры, вы не могли бы показать мне примерчик хоть на 10-15 строк (кодом Qt или на голом С++, псевдокодом ли даже, алгоритмом ли одним, без разницы), в котором два клиентских софта в пиринговой сети без серверов (т.е. full distributed network) соединяются сокетами через двойной NAT (первый они/один-из-них контролируют/ет и могут послать на 5351 порт UPnP-приказ о "замораживании" портов внутрь/вовне, а второй - провайдерский - не контролируют в плане UPnP). Но есть важное облегчающее "но": оба они перед попыткой соединения записывают в таблицу Google Sheet свою "приглашающую к коннекту" пару IP:порт (которую узнают у STUN-сервера), ну, и читают друг о друге оттуда же, причём так быстро, что открытое каждым/одним-из-них серверсокетное соединение не успевает умереть по таймауту. Поможете с этим?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)