【发布时间】:2021-05-31 03:57:23
【问题描述】:
我的代码允许人们加入他们选择的房间,但出于某种原因,即使他们的消息没有发送到他们离开的房间,他们仍然会收到来自他们离开的房间的消息。
服务器代码:
socket.on('create', function (msg) {
socket.leave(msg.currentRoom);
socket.join(msg.room);
});
客户端代码:
var socket = io.connect('https://nova.broyster.repl.co');
var message = document.getElementById("message"),
username = document.getElementById("username"),
room = document.getElementById("roomm"),
feedback = document.getElementById("feedback");
pastRoom = room.value;
document.getElementById("roomSubmit").addEventListener('click', function() {
socket.emit('create', {
room: room.value,
currentRoom: pastRoom
});
});
【问题讨论】:
-
嘿布罗迪,你有什么办法解决这个问题?
-
我已经尝试让消息等于聊天框的值,这样它就不会离开错误的房间。结果确认问题出在其他地方。它似乎只是加入新房间,只向那些新房间发送消息,但仍接收来自旧房间的消息。
标签: javascript html node.js sockets socket.io