2016-09-29 8 views
0

Я не могу поддерживать соединение на странице обновления.Возобновление соединения XMPP при обновлении страницы

Первоначально после каждого обновления объект соединения Strophe теряется. Итак, первый подход, который я принял, состоял в повторном подключении к обновлению.

Я сохраняю JID, SID и RID в localStorage, отправляя запрос на привязку строфы с сохраненными данными.

AuthHandler.attach_params(jid_frm_storage, sid_frm_storage, rid_frm_storage); 

Вложить обратный вызов в реальном AuthHandler объекта, что у меня есть создан и регистрация прекрасно, что означает, что это хорошо предположить, что моего присоединять была успешной, но все-таки я не может отправить или получить любые сообщения

Мой второй подход Я сохранил последний RID в locastorage и использовал его для подключения, поскольку я узнал об исследованиях уже опубликованных проблем в Интернете, которые часто меняются RID. (Хотя обратите внимание, что я сохраняю RID только тогда, когда я отправляю сообщение или получаю сообщение).

Я также попытался отправить присутствие.

ConnectionHandler.connection.send($pres()); 

Но не повезло и здесь!

В моем последнем подходе я повторно разрешил, .i.e Я подключился и зашел в систему, а затем отправил auth, но все равно не повезло.

Как возобновить подключение после обновления. Каковы вещи, которые мне нужно сделать из Strophes, чтобы восстановить и возобновить тот же разговор.

ПРИМЕЧАНИЕ: Я не совсем понимаю, как XMPP работает внутри страны, но я смог продвинуть этот шаг на основе обучения. Я знаю, что было бы здорово подождать и немного научиться на xmpp, прежде чем спешить вперед, но я не могу позволить себе это прямо сейчас, когда мы быстро прототипируем.

Поймите ли вы, если шаги, необходимые для достижения этого, могут быть объяснены подробно.

ответ

0

решаемые это:

Лучший способ для решения этой проблемы является сохранение учетных данных для входа в LocalStorage (заметьте это не может удовлетворить ваши требования к безопасности, встретились с моими, хотя), а затем сделать правильное подключение еще раз, но это с теми же учетными данными, что и раньше.