
Я пытаюсь создать одноранговое приложение и мне нужен порт для обмена информацией о соединении, и я хочу гарантировать, что этот порт не будет закрыт брандмауэром на пути между одноранговыми узлами, и этот порт не будет использоваться другим приложением.
решение1
По сути, существует несколько способов установить соединение между одноранговыми узлами, которые не могут принимать входящие соединения по своим очевидным интернет-адресам.
- Определите, есть ли трансляция сетевых адресов (NAT), и если да, попробуйте использовать UPnP и/или другие протоколы сопоставления портов NAT для настройки любых маршрутизаторов NAT, которые отвечают на переадресацию порта по интернет-адресу на локальный адрес.
- Если один из одноранговых узлов может принимать входящие соединения, скоординируйте действия так, чтобы он прослушивал соединение, а другой одноранговый узел подключался к нему.
- Используйте методы обхода NAT, чтобы попытаться установить соединение.https://en.wikipedia.org/wiki/NAT_traversal