Как использовать acks для управления потоками в xmpp.js (в реактивном режиме) с MongooseIM (в качестве сервера чата)?
Я использую xmpp.js в качестве клиента чата xmpp внутри реакции-натива для android+ios с MongooseIM в качестве сервера чата. Я хочу реализовать управление потоками в приложении. Но в соответствии с проблемой № 540, xmpp.js пока официально не поддерживает управление потоками. Что может быть альтернативой этому?
Мне нужен модуль управления потоком только для отправки / получения подтверждений между c2s и s2s. Пожалуйста, руководство.
1 ответ
Управление потоками, если оно недоступно в выбранной вами клиентской библиотеке, является довольно сложным для реализации - хотя определенно будет приветствоваться сообществом открытого исходного кода;)
XMPP Ping - более простая альтернатива для обнаружения разорванных соединений. Он доступен на нескольких серверах, включая MongooseIM и ejabberd. Идея состоит в том, что любая сторона соединения отправляет пинг IQ - так как IQ стандартизированы, чтобы требовать ответов, если ответ не приходит в предопределенный интервал времени, вы можете предположить, что такое соединение разорвано. Нет протокола для повторной передачи сообщения, как с Stream Management, но если вы работаете с Message Archive Management (mod_mam
) все сообщения должны храниться в любом случае безопасно.
В качестве альтернативы, как кто-то предложил в проблеме, на которую вы ссылаетесь, вы можете переключиться на Stanza.io, который поддерживает XEP-198.