| 1234567891011121314151617181920212223242526272829303132333435363738 |
- const fastify = require('fastify')
- const config = require('./config.js')
- const { initDB } = require('./src/database.js')
- const routes = require('./src/routes.js')
- const { createServer } = require('net')
- const { broker } = require('./src/mqtt.js')
- // 初始化Fastify(移除WebSocket相关代码)
- const app = fastify({
- logger: true,
- maxParamLength: 256, // 限制路径参数长度
- connectionTimeout: 5000,// TCP连接超时
- keepAliveTimeout: 5000, // 保持连接时间
- bodyLimit: 1048576 // 请求体限制1MB
- })
- const mqttServer = createServer(broker.handle)
- // 初始化数据库
- await initDB()
- // 仅注册API路由
- app.register(routes, { prefix: '/api' })
- // 启动HTTP服务
- app.listen(config.http, (err) => {
- if (err) {
- app.log.error(err)
- process.exit(1)
- }
- })
- // 启动纯TCP版MQTT服务
- mqttServer.listen(config.http.port, config.http.host, () => {
- app.log.info(`MQTT TCP服务已启动: tcp://localhost:${config.mqtt.tcp_port}`)
- }).on('error', () => {
- app.log.error(err)
- process.exit(1)
- })
|