Как организовать P2P соединение двух клиентов при помощи сервера?
Как организовать P2P соединение двух клиентов при помощи сервера, при условии что оба клиента находятся за NAT и имеют серый IP. Существуют ли какие-то способы это сделать?
вариант1: NAT-PMP и UPnP IGD - стукнутся в nat и попросить пробросить внешний порт на себя. имхо такая функциональность сейчас в каждом nat есть.
вариант2: поставить на внешнем сервере vpn-сервис и подключать к нему клиентов. внутри vpn будет "полносвязная" сетка.
вариент3: поставить socks5 прокси на сервере. в нем есть функция биндинга порта.
С помощью сервера (VPN) - это не будет соединение клиент - клиент, весь трафик будет идти через сервер, то есть схема соединения будет клиент - сервер - клиент
Единственный вариант соединить двух клиентов между собой напрямую это TCP hole punching