广播消息给所有的客户

我已经尝试向所有客户广播一个消息,但没有成功。

标有“ WORKS ”的标志,但仅限一个客户。

我已经试过这些选项:socket.emit socket.broadcast.emit

在这里输入图像说明

谢谢

您正在对错误的对象调用on函数。 你应该重新命名socketvariables。 最常见的是,人们使用io

 io = require('socket.io').listen(server); 

然后,您将需要调用sockets发送给所有用户:

 io.sockets.on('connection', function(socket) { io.sockets.emit('message', data); }); 

当然, send是一个使用message作为事件的emit 。 所以你可以在你的callback中使用它:

 io.sockets.send(data); 

无论哪种情况,您都必须在客户端执行以下操作来对此事件做出反应:

 socket.on('message', function (data) { // Do things with data }); 

注意: socket.broadcast.emit可以用来发送一个事件给除刚刚连接的用户以外的所有连接的用户。