我有一个场景,我让 Node 通过 net.socket 连接从一台服务器提取数据,然后使用 sockets.io 输出到客户端浏览器。来自服务器的数据大约每分钟更新一次。如果我将该数据输出到控制台,它可以正常工作,并在发生更新时显示更新。但是,我似乎无法通过 socket.io 将该数据推送到浏览器。我很擅长 PHP,但完全是 javascript 的新手。我确实明白,随着数据从服务器更新,它应该触发一个“事件”,导致 socket.io 推出新数据。我会很感激任何帮助。
//set all variables and modules includes here
// [...]
server = http.createServer (function(req, res) {
res.writeHead(200, {'Content-Type:' 'text/html'});
res.end(index);
}).listen(8080, localhost);
//connection to stats server
var socket = new net.Socket();
socket.connect (6000, "xxx.xxx.xxx.xxx", function () {
console.log("connected");
});
socket.on('data', function(data) {
var buf = new Buffer(data, 'base64');
var calls = buf.toString();
console.log(calls); // if I include this, data outputs to console perfectly
//set up socket.io connection to client
var clientupdate = function clientupdate() {
io.sockets.on('connection', function(socket) {
socket.emit('calls', {data: calls});
});
}
});