如果连接后尚未发出套接字数据,新客户端如何获取套接字数据

时间:2015-11-13 00:55:41

标签: node.js socket.io

我用Google搜索了几个小时但似乎无法找到答案。我有客户端发出和收听套接字,有些更改非常频繁,而其他人可能每隔几分钟就会更改一次。我的问题是当一个新客户端连接(或连接客户端刷新)时,它是如何从服务器发出之前每隔几分钟更改一次的数据中获取数据的?

客户端代码

var socket = io.connect();
socket.on('frequent', function(data){
    $frequent.text(data);
});
socket.on('occasional', function(data){
    $occasional.text(data);
}); 

服务器代码(理论上。发出正常工作不是问题)

io.emit('frequent', data);
io.emit('occasional', data);

1 个答案:

答案 0 :(得分:0)

当客户端连接到服务器时,服务器可以立即发送数据的当前状态:

io.on('connection', function(socket) {
    socket.emit("status", currentData);
});

这样,客户端立即获得当前状态,并且不必等待下一次更改。