【问题标题】:How to prevent sending message after reconnect in ejabberd如何在ejabberd中重新连接后防止发送消息
【发布时间】:2018-09-20 23:49:44
【问题描述】:

假设我们有客户A 和客户B

客户端 A 已连接到 jabber。
客户端 B 与 jabber 没有连接。

客户端AB 发送“hello”消息。当客户端 B 重新连接到 ejabberd 时,将收到“hello”消息。

我希望客户端 B 仅在连接到 ejabberd 时收到“hello”消息。

我在 ejabbed 配置文件中评论了 mod_offline 模块,但没有解决问题。

【问题讨论】:

    标签: erlang xmpp ejabberd


    【解决方案1】:

    如果您评论 mod_offline,则发送给离线用户的消息不会被存储,它们会丢失。

    如果客户端 B 以负优先级登录,它不会收到离线消息。稍后当客户端设置一个肯定的优先级时,它会接收所有的离线消息。

    【讨论】:

    • 当客户端B以负优先级登录时,客户端A无法发送和接收service-unavailable
    • 如果禁用mod_offline,显然ejabberd会拒绝发送给离线用户的消息,并返回错误service-unavailable。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-11-08
    • 2014-01-05
    • 2014-06-10
    • 2017-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多