Socket.IO 只发送给所有客户端
Socket.IO only emitting to all clients
我的代码的右边部分是
io.sockets.on('connection', function(socket){
var interval = setInterval(function() {
repaintGraph()
socket.emit('set data chart', '{"series":[['+series+']]}');
}, 1000 );
这种情况下的图表,如果我有3个用户连接,图表在一秒内更新3次我需要在1秒内执行代码1次,无论客户端数量如何
尝试使用
socket.broadcast.emit('event',data)
您可以运行连接代码之外的间隔代码:
setInterval(function() {
repaintGraph();
io.emit('set data chart', '{"series":[['+series+']]}');
}, 1000);
io.on('connection', function() {
...
});
io.emit()
将每秒向所有连接的客户端广播消息。
代码中有一点效率低下,即使没有任何客户端连接,它也会每秒调用 repaintGraph()
,但这使代码更容易。
我的代码的右边部分是
io.sockets.on('connection', function(socket){
var interval = setInterval(function() {
repaintGraph()
socket.emit('set data chart', '{"series":[['+series+']]}');
}, 1000 );
这种情况下的图表,如果我有3个用户连接,图表在一秒内更新3次我需要在1秒内执行代码1次,无论客户端数量如何
尝试使用
socket.broadcast.emit('event',data)
您可以运行连接代码之外的间隔代码:
setInterval(function() {
repaintGraph();
io.emit('set data chart', '{"series":[['+series+']]}');
}, 1000);
io.on('connection', function() {
...
});
io.emit()
将每秒向所有连接的客户端广播消息。
代码中有一点效率低下,即使没有任何客户端连接,它也会每秒调用 repaintGraph()
,但这使代码更容易。