Ejabberd移动连接,丢失或延迟的消息

时间:2017-08-06 17:21:45

标签: mobile connection xmpp ejabberd

我有一个可以与桌面或移动设备一起使用的即时消息网站。我发现在使用移动浏览器时,某些消息未传递或延迟。

情况

我正在使用Ejabberd 17.04,启用了流管理,启用了离线消息,在客户端与Strophe连接(使用XEP-0184消息传递收据)。

以下是一些配置:

  • mod_stream_mgmt

    resume_timeout: 300
    max_resume_timeout: 300
    resend_on_timeout: true
    
  • mod_offline

    access_max_user_messages: (100 for normal user)
    store_empty_body: unless_chat_state
    

问题:

  1. max_resume_timeout设置为300s时,如果客户端没有响应,如何在300s之间处理消息?当客户恢复(在300s内)流时,是否会重新发送消息?

  2. 据我所知,在300s内未发送给用户的任何消息都将被重新发送,如果用户当时没有重新连接,则应由离线消息处理。但是,重新连接后,某些离线消息不会立即发送 。我怎样才能减少延误?

  3. 我应该使用MAM (XEP-0313)来获取用户断开连接和重新连接之间的所有消息,以避免消息丢失吗?

  4. 我有什么办法可以避免或最小化与服务器的UNSTABLE连接吗?

0 个答案:

没有答案