0

我们正在使用 ejabberd-16.08 实现聊天基础架构,我们决定在接收者用户离线时使用 mod_interact( https://github.com/adamvduke/mod_interact ) 向我们的网络服务器发送请求(这样我们就可以发送它们推送通知)

但是,当我将 mod_interact 与 ejaberd 集成并向我名册中的一位离线朋友发送消息时,我看到 mod_interact 发送的是 mod_unavailable 消息而不是 mod_offline 消息。(我希望 mod_interact 发送 mod_offline 消息,因为只有 mod_offline 具有发送推送通知的正确信息)

所以我想知道beeing online和beeing不可用有什么区别,我们该如何设置。

PS:我试图发送消息的用户(这似乎不可用)与服务器断开连接(没有特别将他/她的存在设置为不可用)

谢谢

4

2 回答 2

0

在 XMPP 中,没有什么叫做离线。用户状态可能是,

unavailable -- Signals that the entity is no longer available for communication.
subscribe -- The sender wishes to subscribe to the recipient's presence.
subscribed -- The sender has allowed the recipient to receive their presence.
unsubscribe -- The sender is unsubscribing from another entity's presence.
unsubscribed -- The subscription request has been denied or a previously-granted subscription has been cancelled.
probe -- A request for an entity's current presence; SHOULD be generated only by a server on behalf of a user.
error -- An error has occurred regarding processing or delivery of a previously-sent presence stanza.

不可用表示用户离线。但是,如果在线用户将自定义状态设置为不可用,您也会收到不可用状态,但在这种情况下,用户实际上是在线的。

注意:您可以使用探针来获取用户的实际状态。

于 2016-09-08T17:35:56.933 回答
0

当用户离线意味着他与服务器断开连接并且不可用的行为与离线相同。如果您想自定义在线不可用的行为,您可以。您可以访问这里了解更多信息

于 2016-09-05T03:56:25.660 回答