L
L
light242016-05-23 01:09:27
Java
light24, 2016-05-23 01:09:27

What mechanism for phone-to-phone (java) communication under nat should be used?

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

Answer the question

In order to leave comments, you need to log in

2 answer(s)
A
Alexander, 2016-05-23
@komjaga

from what it is sockets you are blocked?

C
ChronosX, 2019-04-16
@ChronosX

UDP Hole Punching

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question