如何在MongooseIM(作为聊天服务器)中使用xmpp.js中的流管理工具(在react-native中)?

时间:2018-11-12 07:03:37

标签: react-native xmpp ejabberd mongoose-im node-xmpp

我在使用MongooseIM作为聊天服务器的android + ios的react-native中使用xmpp.js作为xmpp聊天客户端。我想在App中实施流管理工具。但是根据issue#540,xmpp.js目前尚不正式支持流管理。什么可以替代呢?

我只需要流管理模块来发送/接收c2s和s2s之间的ack。请指导。

1 个答案:

答案 0 :(得分:1)

如果您选择的客户端库中没有Stream Management,则实现起来会有些复杂-尽管开源社区绝对会欢迎它;)

XMPP Ping是检测断开连接的更简单替代方法。它可用于MongooseIM和ejabberd等一系列服务器。这个想法是,连接的任何一侧都将发送ping IQ-因为IQ被标准化为需要响应,所以如果响应未在预定义的时间间隔内出现,则可以假定该连接已死。没有像Stream Management这样的用于消息重传的协议,但是如果您正在使用Message Archive Management(mod_mam)运行,则无论如何,所有消息都应安全地存储。

或者,正如您在链接的问题中所建议的那样,您可以切换到支持XEP-198的Stanza.io。