广播消息给所有的客户
我已经尝试向所有客户广播一个消息,但没有成功。
标有“ WORKS ”的标志,但仅限一个客户。
我已经试过这些选项:socket.emit socket.broadcast.emit
谢谢
您正在对错误的对象调用on
函数。 你应该重新命名socket
variables。 最常见的是,人们使用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
可以用来发送一个事件给除刚刚连接的用户以外的所有连接的用户。