如何从node.js和socket.io获取加载信息

如何从node.js和socket.io获取加载信息,node.js,socket.io,Node.js,Socket.io,我希望我的node.js服务器在加载页面时从.json文件发送一些数据,但我不断收到ReferenceError:socket未定义。它应该使用这样的socket吗? 我有以下代码: var express = require('express'); var app = express(); var http = require("http"); var server = require("http").createServer(app); var path = require('path');

我希望我的node.js服务器在加载页面时从.json文件发送一些数据,但我不断收到
ReferenceError:socket未定义
。它应该使用这样的socket吗?
我有以下代码:

var express = require('express');
var app = express();
var http = require("http");
var server = require("http").createServer(app);
var path = require('path');
var io = require('socket.io').listen(server);
var cheerio = require('cheerio');
var moment = require('moment');
var request = require('request');
var fs = require('fs');

server.listen(80);
console.log("Server is running!")

app.use('/static', express.static(path.join(__dirname, 'public')));
//app.use('/images', express.static(__dirname + '/publick'));

app.get('/', function (req, res) {
    let lastLogs = readFile('public/data/logs.json');
    res.sendfile('public/index.html');
    socket.broadcast.emit('savedLogs', lastLogs);
});
function readFile(path) {
    return fs.readFileSync(path, 'utf8');
}

您必须首先启动socket.io才能发送到单个套接字,如下所示

io.on("connection", function (socket) {
    socket.on('myEvent', function (data) {
        socket.emit('myEventResponse','yourResponse');
  });
})
但是,如果您想向所有连接的客户端广播,您可以使用

io.emit('savedLogs', lastLogs);