Как отправлять сообщения в групповой чат, используя сервер ejabber с библиотекой strophe? - PullRequest
0 голосов
/ 01 марта 2019

При реализации чата в реагирующем веб-приложении с использованием XMPP я столкнулся с проблемой хранения отправленных данных в конце Mysql DB из Mnesia.Для этого я использовал библиотеку strophe для реализации чата в веб-среде.Я совершенно новичок в этом сервере чата.

Вот рабочий процесс, за которым я следую
1. Подключение и проверка подлинности на сервере ejabber.
2. Создание muc_room с некоторыми пользователями.
3. Я пытаюсь отправить сообщение в уже созданную группу. Здесь я спроектировал сервиз так, чтобы он сохранял сообщения в таблицу архива в MySQL из базы данных Mnesia.
4. Наконец, я хочу получить все списки.list.

Но я сталкиваюсь с проблемой в 3-м пункте. Я не вижу отправленное сообщение от моего конца созданной группе в архивной таблице , и я думаю, что оно временно хранится в 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());

Пожалуйста, попробуйте дать какие-либо идеи, чтобы решить эту проблему.

...