为什么MongooseIM在60秒后关闭websocket连接?

时间:2018-11-13 16:35:37

标签: react-native xmpp ejabberd mongoose-im

我将MongooseIM用作聊天服务器,并在react-native应用程序中使用xmpp.js通过websocket将其连接。闲置60秒后,服务器强行关闭连接。我想知道:

  1. 如果这是默认配置?
  2. 应该/可以更改吗?
  3. 我应该设置ping机制,以便我的客户端每60秒发送一次ping以避免断开连接

1 个答案:

答案 0 :(得分:2)

WebSocket连接的非活动默认超时值设置为infinity。您的配置很可能在“ mod_websockets”配置中包含“ {timeout,60000}”。为了使空闲连接保持与服务器的连接,您可以不定期发送WebSocket ping帧。

有关“ mod_websockets”配置的更多信息,请参见:https://mongooseim.readthedocs.io/en/latest/advanced-configuration/Listener-modules/#http-based-services-bosh-websocket-rest-ejabberd_cowboy

您甚至可以通过指定选项{ping_rate, ValueInMilliSeconds}将服务器配置为发送WebSocket的ping帧