我尝试向所有客户广播消息但没有成功。
标记的行工作,但仅限于一个客户端。
我已经尝试过这些选项: socket.emit socket.broadcast.emit
由于
答案 0 :(得分:3)
您正在错误对象上调用on
函数。您应该将socket
变量重命名为其他内容。最常见的是,人们使用io
。
io = require('socket.io').listen(server);
然后,您需要致电emit
上的sockets
发送给所有用户:
io.sockets.on('connection', function(socket) {
io.sockets.emit('message', data);
});
当然,send
是使用emit
作为事件的message
。所以你可以在你的回调中使用它:
io.sockets.send(data);
在任何一种情况下,您都必须在客户端中执行以下操作以对此事件做出反应:
socket.on('message', function (data) {
// Do things with data
});
注意:socket.broadcast.emit
可用于向仅与socket
关联的用户以外的所有用户发送事件。