【发布时间】:2018-11-13 16:35:36
【问题描述】:
我使用 MongooseIM 作为聊天服务器,并在 react-native 应用程序中使用 xmpp.js 通过 websocket 连接它。服务器在不活动 60 秒后强制关闭连接。我想知道:
- 如果这是默认配置?
- 应该/我可以更改吗?
- 我是否应该设置 ping 机制,以便我的客户端必须在每 60 秒后发送一些 ping 以避免断开连接
【问题讨论】:
-
您是否在服务器上启用了 mod_ping 又名 XMPP Ping,但在客户端上没有? 60 秒是 MongooseIM 和 ejabberd 的默认 ping 间隔,因此这似乎是罪魁祸首。
-
是的,我已经尝试过 mod_ping 模块。但是无论在 chrome 浏览器中是否使用 mod_ping,连接总是关闭,有时在 react-native 应用程序中也是如此。不知道为什么?
-
我猜这是 web socket conn 的一些限制或安全因素。不确定
-
TCP 连接被关闭可能源于很多因素,例如你的网络环境。你在亚马逊上运行服务器吗?如果是,这可能适用于您的情况 - stackoverflow.com/a/48764819/1325207。 @michalwski 下面所说的也可能适用。
标签: react-native xmpp ejabberd mongoose-im