Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/445.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 向所有客户端广播消息_Javascript_Node.js_Socket.io - Fatal编程技术网

Javascript 向所有客户端广播消息

Javascript 向所有客户端广播消息,javascript,node.js,socket.io,Javascript,Node.js,Socket.io,我曾尝试向所有客户广播一条消息,但没有成功 标记行起作用,但仅适用于一个客户端 我已经尝试过以下选项: socket.emit socket.broadcast.emit 谢谢您在错误的对象上调用了on函数。您应该将socket变量重命名为其他变量。最常见的是,人们使用io io = require('socket.io').listen(server); 然后,您需要在sockets上调用emit,以发送给所有用户: io.sockets.on('connection', function

我曾尝试向所有客户广播一条消息,但没有成功

标记行起作用,但仅适用于一个客户端

我已经尝试过以下选项: socket.emit socket.broadcast.emit


谢谢

您在错误的对象上调用了on函数。您应该将
socket
变量重命名为其他变量。最常见的是,人们使用
io

io = require('socket.io').listen(server);
然后,您需要在
sockets
上调用
emit
,以发送给所有用户:

io.sockets.on('connection', function(socket) {
    io.sockets.emit('message', data);
});
当然,
send
是一个使用
message
作为事件的
emit
。因此,您可以在回调中使用它:

io.sockets.send(data);
在任何一种情况下,您都必须在客户端执行以下操作才能对此事件作出反应:

socket.on('message', function (data) {
  // Do things with data
});
注意:
socket.broadcast.emit
可用于将事件发送给所有已连接的用户,而不是作为
套接字连接的用户