Javascript 客户如何通过socketio通过离开所有旧房间连接到新房间
我在服务器上有5个房间,比如“A”、“B”、“C”、“D”、“E” 服务器端 i、 e //创建房间的功能Javascript 客户如何通过socketio通过离开所有旧房间连接到新房间,javascript,node.js,websocket,socket.io,Javascript,Node.js,Websocket,Socket.io,我在服务器上有5个房间,比如“A”、“B”、“C”、“D”、“E” 服务器端 i、 e //创建房间的功能 function connectSocket(data) { io.emit(data.device_id, data); console.log('room',data.device_id, 'created'); } //房间创建呼叫 connectSocket("A"); 客户端 var socket = io(*url*); socket.on('connect
function connectSocket(data) {
io.emit(data.device_id, data);
console.log('room',data.device_id, 'created');
}
//房间创建呼叫
connectSocket("A");
客户端
var socket = io(*url*);
socket.on('connect', function () {
console.log('Connected to server');
});
socket.on(*roomname*, function (message) {
console.log(message);
});
`
问题
我想把A房间换到B房间
但在切换之前,我想关闭所有连接
当我加入新房间时,我不想收听旧房间的数据。我想你把活动和房间弄混了。
io.emit(data.device\u id,data)
不创建文件室,它只是将数据发送到每个连接的客户端,第一个参数是事件的名称,第二个参数是数据
使用Socket.IO中的文件室的正确方法如下:
加入一个房间:
socket.join(roomId); // roomId is a string
离开房间:
socket.leave(roomId);
发送至“游戏”室中的所有客户端,但发件人除外:
socket.to('game').emit('nice game', "let's play a game");
发送给“游戏”室中的所有客户,包括发件人:
io.in('game').emit('big-announcement', 'the game will start soon');
有关更多信息,请查看和有关的文档
我希望有帮助 我也面临着同样的问题,请有人解释一下如何在安静的环境下一次使用一个房间code@hexacyanide有什么帮助吗?使用socket.leave(room_id)在“断开连接”事件中如何在服务器上创建房间?如何从客户端加入刚刚在服务器上创建的文件室?我怎样才能离开客户的房间?注意:当我们离开客户端时,我们在服务器上创建的任何房间都不会关闭。因为多个客户端将加入以从该房间获取数据@塔马斯
io.in('game').emit('big-announcement', 'the game will start soon');