fix server.close() issue

This commit is contained in:
Karsten Hassel
2021-09-24 00:30:00 +02:00
parent 54b04962a8
commit 0ef6f89d44
2 changed files with 12 additions and 1 deletions

View File

@@ -23,6 +23,7 @@ const Utils = require("./utils.js");
*/
function Server(config, callback) {
const port = process.env.MM_PORT || config.port;
const serverSockets = new Set();
let server = null;
if (config.useHttps) {
@@ -42,6 +43,13 @@ function Server(config, callback) {
allowEIO3: true
});
server.on("connection", (socket) => {
serverSockets.add(socket);
socket.on("close", () => {
serverSockets.delete(socket);
});
});
Log.log(`Starting server on port ${port} ... `);
server.listen(port, config.address || "localhost");
@@ -94,6 +102,9 @@ function Server(config, callback) {
}
this.close = function () {
for (const socket of serverSockets.values()) {
socket.destroy();
}
server.close();
};
}