Я разрабатываю приложение p2p, которое работает на порте 30000. Мой маршрутизатор не UPnP, поэтому мне необходимо переслать порт на маршрутизатор. Но Skype другое приложение p2p работает без переадресации портов на моем компьютере. Когда я проанализировал его с помощью wirehark, я нашел его используя порт UDP 48980, 58544. Я использую C++.Как работает Skype без переадресации портов?
Существует библиотека в python here, которая делает это для Nat PnP routers. Возможно ли программно перенаправить порт на маршрутизатор независимо от типа маршрутизатора и операционной системы. Каким должен быть подход, чтобы сделать это на C++ или на любом другом языке.
, но вопрос в том, что IP-адреса клиентов PUBLIC? см. например, A нужно связываться с B, а сервер знает IP-адрес B, но какой IP-адрес он использует? если это так, вы можете ping anyones ip? извините, если это глупо. –
В этом ответе просто описывается A и не удается связаться с B и сервером, отправляющим правильную комбинацию IP/Port пользователю B. Отсутствует основная точка, которая называется перфорацией отверстий, и она очень хорошо описана в ссылке предоставленный @MartinBeckett. Я бы просто добавил, что также можно пересылать порт независимо от типа маршрутизатора и операционной системы, если маршрутизатор поддерживает UPnP. – Igor
@rein, а что относительно симметричного NAT? – onmyway133