Я знаю, что ipchicken.com сообщит вам IP-адрес вашего маршрутизатора и порт, который он использует для вашего подключения. Но можно ли получить эту информацию «на месте»? (Не полагаясь на веб-сайт).
Я хочу установить соединение между двумя случайными хостами... без "выделенного сервера" посередине. У меня проблема достучаться через NAT. Я думаю, что лучший вариант — это своего рода пробивание отверстий TCP, когда оба хоста куда-то подключаются, а затем просто сообщают друг другу (это может быть по телефону, в чате или аналогичном) текущий IP-адрес и номер порта, которые используют их маршрутизаторы. Это должно заставить маршрутизаторы пересылать пакеты на хосты, даже если они исходят из другого источника, чем те, к которым они изначально подключались.
Можно ли найти номер порта, который ваш маршрутизатор использует для подключения более локально, чем ipchicken.com? ? Есть ли идеи о других возможных подходах к этой проблеме?
РЕДАКТИРОВАТЬ: Настройка переадресации портов на маршрутизаторе в этом случае невозможна, так как многие люди (включая меня) не имеют прав администратора на своих маршрутизаторах, и я не хочу навязывать такую задачу «пользователям» моего приложения.