Можно ли использовать бесплатный IRC-канал в качестве своего рода сервера реального времени для моего небольшого приложения?

В настоящее время я работаю над приложением, которому потребуется общение в реальном времени между двумя клиентами. Не обязательно текстовый чат. Мне было интересно, могу ли я использовать бесплатные службы IRC, такие как Freenode, в качестве своего рода бэкэнда для связи моего приложения?

Я просмотрел их TOS и ничего против не нашел. Но я хочу знать, есть ли какие-то ошибки, о которых мне нужно знать.


person user400424    schedule 28.08.2017    source источник
comment
Зачем вам использовать IRC для общения? Для этого вам нужно реализовать не только связь через сокеты, но и протокол IRC (хотя бы частично). Поскольку вам все равно нужны сокеты, почему бы просто не использовать их для прямой связи между программами?   -  person Some programmer dude    schedule 28.08.2017
comment
Я голосую за то, чтобы закрыть этот вопрос как не по теме, потому что он, похоже, не касается проблемы с программным обеспечением или программированием.   -  person Some programmer dude    schedule 28.08.2017
comment
@Someprogrammerdude Мне нужно что-то для размещения, так как общение будет осуществляться через Интернет.   -  person user400424    schedule 28.08.2017
comment
Зачем его нужно размещать? Вам нужно сохранить общение? Почему вместо этого вы не можете иметь прямую связь между программами?   -  person Some programmer dude    schedule 28.08.2017
comment
@Someprogrammerdude, два клиента не могут работать с открытыми портами, поэтому ни один из них не может осуществлять прямой хостинг для связи, поэтому необходимо полагаться на внешнюю службу, к которой они оба могут получить доступ. Я хотел использовать бесплатный сервис IRC, потому что не хочу платить за BaaS для небольшого проекта.   -  person user400424    schedule 28.08.2017
comment
Я голосую за то, чтобы закрыть этот вопрос как не по теме, потому что он касается TOS (условий обслуживания) / юридических вопросов, а не непосредственно программирования или кодирования.   -  person Pang    schedule 26.09.2017


Ответы (1)


Похоже, то, что вы действительно спрашиваете, похоже на следующее...

Как я могу общаться между двумя клиентами через Интернет, даже если оба этих клиента защищены каким-то брандмауэром, который предотвращает прямое соединение TCP или UDP?

Ответ. Обычным решением является использование сервера в Интернете, доступного для обоих клиентов, в качестве посредника для ретрансляции их трафика. До недавнего времени это выполнялось очень специфичным для приложения способом и требовало управления выделенным сервером в Интернете. Но что, если бы был способ переложить это бремя на кого-то другого...

Мне было интересно, могу ли я использовать бесплатные службы IRC, такие как Freenode, в качестве своего рода бэкэнда для связи моего приложения?

Ответ: Вероятно, нет. Или, если это работает для вашего тестового приложения, вас быстро забанят в рабочей среде, когда вы попытаетесь отправить значительный объем трафика через IRC-серверы. К счастью, этот тип службы ретрансляции действительно доступен для разработчиков и производственных сценариев использования. WebRTC был разработан специально для того, чтобы сделать возможными такие приложения реального времени. Модные словечки против брандмауэра, которые вам следует поискать в Google, это STUN и TURN.

В настоящее время я изучаю размещенный сервис Twilio для своих собственных приложений, однако также возможно разместить собственный ретранслятор TURN на Amazon EC2. К сожалению, бесплатного обеда не бывает, поэтому вам придется заплатить некоторую сумму за каждую из этих услуг, но вы сможете насладиться теплым светом написания надежного, соответствующего стандартам кода.

person v1bri    schedule 28.09.2017
comment
Благодарю вас! Я не знал, что меня забанят. Я собирался отправлять сообщения в виде зашифрованной строки на сервер IRC, поэтому не должно быть никаких проблем с конфиденциальностью. Но я не учел, что у IRC-серверов будут ограничения по скорости. Это не совсем для браузерного приложения, скорее для настольного компьютера, но я проверю опубликованные вами ресурсы. - person user400424; 02.10.2017