【发布时间】:2018-12-23 17:33:08
【问题描述】:
我是 Java 脚本和网络应用程序的新手。我正在尝试创建一个 Web 应用程序。 我使用 socket.io 2.1.1 创建 websockets。
var app = require('../app');
var https = require('https');
var server = https.createServer({
key: fs.readFileSync(__dirname + '/../../host.key'),
cert: fs.readFileSync(__dirname + '/../../host.cert')
},
app);
var io = require('socket.io')(server);
我需要根据收到的事件阻止或恢复接受连接。
something.on('block',()=>{
//block all incomming connections and terminate all existing connections
io.close();
});
something.on('resume',()=>{
// i have not code for this case
});
我的问题是在我关闭服务器io.close() 后我不知道如何恢复它。
我尝试创建一个新服务器,但它不起作用,客户端也没有连接到服务器。
something.on('resume',()=>{
io = require('socket.io')(server);
// not work , client do not connect
});
如何恢复服务器?
更新:
我知道在io.close();之后,express web server也关闭了。(因为我使用angular cli,我没有感觉到express server被关闭了)
我通过创建一个新的 express 和一个 socket.io 并从一开始初始化它们来解决我的问题,但我不确定这是最好的解决方案。有没有更好的主意?
【问题讨论】:
标签: node.js express web-applications websocket socket.io