3

我使用 Openfire 3.10.2 XMPP 服务器和 Strophe 库作为客户端。我想通过推送通知向聊天室中未加入聊天室的所有用户发送消息。

如何让 Openfire 用户出现在聊天室中

有什么插件吗?

聊天室中的用户存在是否保存在数据库中?我怎样才能做到这一点?

4

1 回答 1

2

您说您将向聊天室中未加入聊天室的用户发送消息:这似乎是矛盾的。如果用户没有加入房间,他就不在房间里,因此无法将房间内交换的消息也发送给该用户。

关于房间状态,您不需要插件,但您可以中继连接到 Strophe.connection 的状态处理程序。这是一个例子:

connection.addHandler(onPresence, null, "presence");

...

function onPresence(presence) {
    var msg = $(presence);
    if (msg.children('x[xmlns^="' + Strophe.NS.MUC + '"]').length > 0) {
        // muc presence
        onRoomPresence(presence);
    } else {
        // user presence
        onUserPresence(presence);
    }
    return true;
}

但是,还有一个名为 MUC 的 Strophe 插件(参见strophe.muc.js

于 2015-11-20T08:07:17.460 回答