Javascript SocketIO离开房间并加入新房间逻辑
我想知道当我点击“新房间”时我如何离开房间 我的页面看起来像这样Javascript SocketIO离开房间并加入新房间逻辑,javascript,node.js,socket.io,Javascript,Node.js,Socket.io,我想知道当我点击“新房间”时我如何离开房间 我的页面看起来像这样 <a href="#" onclick="joinChat()"> <h5 id="sangumee-Quarterican-KJ">sangumee</h5> </a> 左边的列表来自MySQL服务器,它获取我的聊天列表。每个房间名称都有id值,即房间名称。它还具有onclick功能,可以在客户端使用该功能 当我单击每个房间的名称并运行joinChat()函数时,我想在join
<a href="#" onclick="joinChat()">
<h5 id="sangumee-Quarterican-KJ">sangumee</h5>
</a>
左边的列表来自MySQL服务器,它获取我的聊天列表。每个房间名称都有id值,即房间名称。它还具有onclick功能,可以在客户端使用该功能
当我单击每个房间的名称并运行joinChat()函数时,我想在joinChat()函数中
socket.leave(`${data.joinedRoomName}`)代码>
socket.join(`${data.joinedRoomName}`)加入新单击的文件室代码>代码
<a href="#" onclick="joinChat()">
<h5 id="sangumee-Quarterican-KJ">sangumee</h5>
</a>
当插座尝试连接其他房间时,您可以取消连接其他房间:
Object.keys(socket.room)
.filter(it => it !== socket.id)
.forEach(id => socket.leave(id));
或者您只需在客户端(或服务器)上保留一个变量:
然后,如果您加入,请将其发送到服务器并刷新:
socket.emit('JoinRoom', {
joinedRoomName,
leave: current,
});
current = joinedRoomName;
当插座尝试连接其他房间时,您可以取消连接其他房间:
Object.keys(socket.room)
.filter(it => it !== socket.id)
.forEach(id => socket.leave(id));
或者您只需在客户端(或服务器)上保留一个变量:
然后,如果您加入,请将其发送到服务器并刷新:
socket.emit('JoinRoom', {
joinedRoomName,
leave: current,
});
current = joinedRoomName;