Прямая одноранговая связь с использованием сопоставленного или общедоступного {IP: порт} - PullRequest
5 голосов
/ 23 октября 2019

Я ищу решение для обмена информацией между ** NAT ** разделенными терминалами или узлами Android с использованием (UDP или TCP).

  • Я работаю над удаленным приложением , в котором клиенты напрямую общаются друг с другом. Я использую STUN Server реализацию, чтобы получить Public IP: PORT для клиентов Android: A и B .

Для реализации STUN-сервера и NAT Traversal я использовал открытый исходный код;

STUN-сервер, а именно STUNTMAN .

На стороне Android на Клиент A & B , чтобы получить Public IP: ПОРТ от ** STUNTMAN **, я интегрировал;

"JSTUN" - это клиент STUN на основе Java.

В Client-A пример результатов с ** STUNTMAN Server ** подобен;

stunclient --mode full --localport 9999 stun.stunprotocol.org
Binding test: success
Local address: 192.168.1.8:9999
Mapped address: 1.2.3.4:9999
Behavior test: success
Nat behavior: Endpoint Independent Mapping
Filtering test: success
Nat filtering: Address and Port Dependent Filtering

Чтобы установить одноранговую связьмежду клиентами Android, у меня есть сервер сигнализации, который точно разделяет сопоставленные адреса между клиентами A & B .

Но когда я попытался запустить одноранговую связь с использованием UDP или TCP-сокетов , которые являются Коммуникационными протоколами , между ними не было такой связи.

Я не могу понять, где я делаю неправильно? Я также попробовал это решение:

Путаница с сервером оглушения

...