Похоже, то, что вы действительно спрашиваете, похоже на следующее...
Как я могу общаться между двумя клиентами через Интернет, даже если оба этих клиента защищены каким-то брандмауэром, который предотвращает прямое соединение TCP или UDP?
Ответ. Обычным решением является использование сервера в Интернете, доступного для обоих клиентов, в качестве посредника для ретрансляции их трафика. До недавнего времени это выполнялось очень специфичным для приложения способом и требовало управления выделенным сервером в Интернете. Но что, если бы был способ переложить это бремя на кого-то другого...
Мне было интересно, могу ли я использовать бесплатные службы IRC, такие как Freenode, в качестве своего рода бэкэнда для связи моего приложения?
Ответ: Вероятно, нет. Или, если это работает для вашего тестового приложения, вас быстро забанят в рабочей среде, когда вы попытаетесь отправить значительный объем трафика через IRC-серверы. К счастью, этот тип службы ретрансляции действительно доступен для разработчиков и производственных сценариев использования. WebRTC был разработан специально для того, чтобы сделать возможными такие приложения реального времени. Модные словечки против брандмауэра, которые вам следует поискать в Google, это STUN и TURN.
В настоящее время я изучаю размещенный сервис Twilio для своих собственных приложений, однако также возможно разместить собственный ретранслятор TURN на Amazon EC2. К сожалению, бесплатного обеда не бывает, поэтому вам придется заплатить некоторую сумму за каждую из этих услуг, но вы сможете насладиться теплым светом написания надежного, соответствующего стандартам кода.
person
v1bri
schedule
28.09.2017