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();
};
}

View File

@ -13,8 +13,8 @@ describe("Display of modules", function () {
it("should show the test header", function () {
elem = document.querySelector("#module_0_helloworld .module-header");
expect(elem).not.toBe(null);
// textContent gibt hier lowercase zurück, das uppercase wird durch css realisiert, was daher nicht in textContent landet
expect(elem.textContent).toBe("test_header");
//result ist leider lowercase wegen fehlendem css, siehe https://stackoverflow.com/questions/10318330/how-do-you-add-stylesheets-to-jsdom
});
it("should show no header if no header text is specified", function () {