我尝试向所有客户广播一条消息,但没有成功。
标记线有效,但仅适用于一位客户。
我已经尝试过这些选项:socket.emit socket.broadcast.emit
谢谢
我尝试向所有客户广播一条消息,但没有成功。
标记线有效,但仅适用于一位客户。
我已经尝试过这些选项:socket.emit socket.broadcast.emit
谢谢
您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
.