socket.io Приложение для веб-чата

Я использую socket.io для чата от пользователя (приложение) к администратору (браузеру). здесь сообщение администратора было получено пользователю правильно, но сообщение пользователя не получено администратором. Я следую за https://www.sitepoint.com/using-socket-io-and-cordova-to-create-a-real-time-chat-app/ для приложения чата. Также есть чат с приложением в приложение, которое отлично работает для меня.

вот мой код на стороне сервера

  socket.on('send:message', function (msg) {
    console.log("send:message", msg);
    if (msg.orderChat) var q = models.orderChat.create(msg)
    else var q = models.chat.create(msg)
    q.then(function (ret) {
        console.log(ret.get({ plain: true }));
        socket.in(msg.chat_room).emit('send:message', msg);
        //socket.emit('send:message', msg);
    }).catch(function (err) {
        console.log(err);
        socket.in(msg.chat_room).emit('send:message', 'Server Error');
    });
});

вот мой код на стороне клиента

socket.on('send:message', function (msg) {
    username = $('.pchat').attr('data-username');
    console.log(msg);
    $("#chat_div_" + username).chatbox("option", "boxManager").addMsg(username, msg.message);
})

Обновление Также код прекрасно работает, когда пользовательский чат в том же просмотре, но не в перекрестном просмотре.

1 ответ

Я считаю, что есть вероятность, что есть ошибки вне кода, приведенного здесь,

На вашей стороне сервера я изменил:

    socket.in(msg.chat_room).emit('send:message', msg);

в

socket.in(msg.chat_room).emit('send:message', {
            message: msg
        });

Хотя, если бы вы могли предоставить свой полный код, я смогу помочь вам в дальнейшем устранении неполадок.

Другие вопросы по тегам