如何使用带有strophe库的ejabber服务器向群聊发送消息?

时间:2019-03-01 12:46:34

标签: reactjs ejabberd strophe

在使用XMPP在react Web应用程序中实现聊天时,我遇到的问题是将已发送的数据存储在Mnesia的Mysql DB端。 我为此使用了strophe库,以在Web环境中实现聊天部分。 我是这个聊天服务器的新手。

这是我关注的工作流程
1.连接到ejabber服务器并进行身份验证。
2.与一些用户创建muc_room。
3.我正在尝试向已创建的组发送消息,在这里我设计了服务,就像它将消息存储到Mnesia DB中MySQL的存档表中一样。
4.最后,我想获取所有花名册列表。

但是我在第三点上遇到了困难,我无法在存档表中看到从终端到创建的组的已发送消息,我认为它已临时存储在Mnesia DB中。

请参考有关sendmessage的粘贴代码,

var messagetype = (type) ? type : 'chat';
    var reply;
    if (messagetype === 'groupchat') {
        reply = window.$msg({
            to: messgeTo,
            from: connection.jid,
            type: messagetype,
            id: connection.getUniqueId()
        }).c("body", {xmlns: window.Strophe.NS.CLIENT}).t(message);
    }
    else {
        reply = window.$msg({to: messgeTo,
            from: connection.jid,
            type: messagetype
        }).c("body", {xmlns: window.Strophe.NS.CLIENT}).t(message);
    }
    connection.send(reply.tree());
    console.log('I sent ' + messgeTo + ': ' + message, reply.tree());

请尝试给出解决此问题的想法。

0 个答案:

没有答案