node.js - 套接字io不向特定房间广播

标签 node.js sockets socket.io

我正在尝试向特定房间广播一些信息:

服务器端

var io = require('socket.io')(server, { path: '/my/path' });
server.listen(8090, function () {
    console.log("Server ON.");
});

io.on('connection', function(socket){
    socket.on('room', function(room) { //set the room
        socket.join(room);
        socket.room = room;
    });
    socket.on('new message', function (data) { //receive and broadcast the msg
        socket.broadcast.to(socket.room).emit('new message', data);
    });
});

客户端
//initial client config
var socket = io(URL_SOCKET, {path: '/my/path'});
socket.emit('room', room_id);
socket.on('new message', function (data) {
    do_something(data);
});

function on_change(data){
    socket.emit('new message', data);
}

这里的问题是: socket.broadcast.to正在将客户端(通过调用on_change)发送的信息广播到所有房间(所有人)。我究竟做错了什么?

最佳答案

io.in(socket.room).emit('requestRes',{success:true,STATUSCODE:2000,message:"hello"}); 

尝试搜索套接字备忘单。
ps:https://socket.io/docs/emit-cheatsheet/#

关于node.js - 套接字io不向特定房间广播,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43790685/

相关文章:

php - 如何区分 socket.io 聊天中的 Symfony 用户角色/组

javascript - 使用 Node.js 发送 POST 请求并获取数据

javascript - Firebase 注册用户 - 在 Node 中存储用户与在注册用户中存储用户

python - 确定 TCP listen() 队列中当前积压的连接数

php - 使用PHP socket发送和接收数据

javascript - 音频标签中的原始缓冲区数据播放

javascript - 护照发送后无法设置 header

node.js - Nestjs 中的 Observables - 异步读取文件

java - 为什么 java.net.SocketInputStream 不存在?

javascript - socket.io 中的 SetTimeout 第一次不起作用