/** * @file SSE服务器主入口文件 * @author Yk * @createdAt 2025-07-01 * @version 1.0.0 * @description Express服务器配置和路由初始化 */ const express = require('express'); const bodyParser = require('body-parser'); const security = require('./middlewares/security'); const streamRouter = require('./routes/stream'); const pushRouter = require('./routes/push'); const {sendHeartbeat} = require('./lib/sse'); const config = require('./config'); const app = express(); // 中间件 app.use(bodyParser.json()); app.use(...security); // 路由 app.use('/stream', streamRouter); app.use('/push', pushRouter); // 心跳 setInterval(sendHeartbeat, config.sse.heartbeatInterval); // 错误处理 const errorHandler = (err, req, res, next) => { console.error(err.stack); res.status(500).json({ code: 500, error: 'Internal Server Error', timestamp: new Date().toISOString() }); }; app.use(errorHandler); app.listen(config.server.port, () => { console.log(`SSE server running on port ${config.server.port}`); });