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
});
Хотя, если бы вы могли предоставить свой полный код, я смогу помочь вам в дальнейшем устранении неполадок.