Потерянные сообщения через XMPP на отключенном устройстве

Я пытаюсь разработать пошаговую игру по XMPP. (Единственное решение, которое я нашел для мультиплатформенной игры). Я могу отправлять сообщения без проблем. Если другой пользователь не в сети, сервер (OpenFire) сохранит его для доставки позже.

Проблема возникает, когда устройство меняет сеть (переключение с 3g на WiFi, изменение IP-адреса 3g...) или устройство теряет сеть (отключение 3g, Wi-Fi или потеря соединения). Сервер думает, что устройство находится в сети и отправляет сообщение, но оно (очевидно) никогда не приходит, поэтому пакет теряется.

Я знаю одно решение. Реализовать ACK поверх моего игрового протокола, но мне эта идея не очень нравится. У вас есть другие предложения? Я думаю, что это проблема сервера. Вы знаете другой сервер, который реализует TCP или ACK?

Спасибо!!

РЕДАКТИРОВАТЬ: Я делаю так: подключаю устройство к серверу. Я отключаю 3G и Wi-Fi подключение к устройству. Android и сервер все еще думают, что соединение живое.

http://issues.igniterealtime.org/browse/SMACK-331

PD: Я прошу открыть финт для их многопользовательского API, но они мне не ответили...

8
задан Daniel Argüelles 14 March 2012 в 12:47
поделиться