Какой механизм для связи телефон-телефон(java) под nat'ом стоит использовать?

Добрый день, уважаемые разработчики.

Пишу приложение для связи между собой пар устройств (под управлением андроид), приложение ставится на оба телефона, связывание происходит в момент регистрации, после, когда оба телефона в сети они могу обмениваться служебной информацией (из которых грубо говоря генерируются небольшие push уведомления)
Требуется определиться с протоколом для связывания телефонов между собой.
Сокеты по причине блокировки nat'ом не подходят (с промежуточным звеном в виде сервера), рассматривал вариант с обходом nat'a при помощи STUN и прочего, но как я понял это работает далеко не всегда, причем не нашел даже примерной статистки в каком проценте случаев могут быть проблемы (да и не нашел подходящей библиотеки), стоит ли его использовать или нет?

Но больше мне приглянулся вариант с использованием в качестве транспортного протокола xmpp - у него помимо отсутствия проблем с nat'ом есть такое преимущество как отправка сообщений на выключенное устройство (с последующей передачей истории сообщений - команд), что сокращает объем кода. Не нашел только бесплатного хостинга что бы это дело попробовать. Есть такой? И стоит ли вообще использовать xmpp для этих целей?

Может быть есть третий вариант, который я упустил?
  • Вопрос задан
  • 217 просмотров
Пригласить эксперта
Ответы на вопрос 2
@komjaga
Программист встроенного ПО
с чего это сокеты ты блокируются ?
Ответ написан
Комментировать
ChronosX
@ChronosX
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы