我需要一个机制来启动和停止socket.io服务器。当停止命令到达时,所有客户端都会断开连接,服务器停止添加新的连接。当调用启动函数时,socket服务器以正常模式添加新的客户端连接。
我正在尝试以下代码:
但是当我调用app.close()时,出现错误:
我正在尝试以下代码:
var app = require('http').createServer(function() {}),
io = require('socket.io').listen(app);
app.listen(25544);
io.set('log level', 1);
io.set('close timeout', 240);
io.set('heartbeat timeout', 240);
io.set('heartbeat interval', 120);
io.startServer = function() {
app.listen(25544);
};
io.stopServer = function() {
app.close()
};
但是当我调用app.close()时,出现错误:
net.js:1236
throw new Error('Not running');
^
Error: Not running
at Server.close (net.js:1236:11)
at Manager.module.exports.io.stopServer (/home/streamuser/nodejs/data/io.js:22:10)
at process.<anonymous> (/home/streamuser/nodejs/data/app.js:146:7)
at process.EventEmitter.emit (events.js:98:17)
at handleMessage (child_process.js:318:10)
at Pipe.channel.onread (child_process.js:345:11)