Потоковое управление, если оно недоступно в выбранной вами клиентской библиотеке, является довольно сложным для реализации - хотя, безусловно, будет приветствоваться сообществом открытого исходного кода;)
XMPP Ping - более простая альтернатива для обнаружения разорванных соединений.,Он доступен на нескольких серверах, включая MongooseIM и ejabberd.Идея состоит в том, что любая сторона соединения отправляет пинг IQ - так как IQ стандартизированы, чтобы требовать ответов, если ответ не приходит в предопределенный интервал времени, вы можете предположить, что такое соединение разорвано.Нет протокола для повторной передачи сообщений, как с Stream Management, но если вы работаете с Message Archive Management (mod_mam
), все сообщения должны храниться в любом случае безопасно.
В качестве альтернативы, как кто-то предложил в этой проблемепо вашей ссылке, вы можете переключиться на Stanza.io, который поддерживает XEP-198.