Начиная с server-A (глобально доступного через статический IP-адрес), я привязываю сокет UDP к 0.0.0.0:25000.
Затем с клиентом A за (жилым) NAT я привязываю сокет UDP к 0.0.0.0:25000. Затем клиент-A отправляет пакет серверу-A.
Сервер-A получает пакет. Сервер-A записывает удаленный сокет K, откуда пакет был преобразован через NAT. Сервер-A отправляет пакет K с намерением, чтобы NAT переадресовал пакет клиенту-A.
Однако клиент-A не получает пакет. На NAT, когда я включаю запуск порта на порту 25000 для UDP, он работает. Однако при создании приложения p2p я бы предпочел не требовать, чтобы клиенты заходили в настройки маршрутизатора, чтобы программа работала. Как я могу пробить брандмауэр, чтобы связь была двунаправленной?