Force close all connections in a node.js http server

后端 未结 5 1495
被撕碎了的回忆
被撕碎了的回忆 2020-12-28 13:33

I have an http server created using:

var server = http.createServer()

I want to shut down the server. Presumably I\'d do this by calling:

<
5条回答
  •  北荒
    北荒 (楼主)
    2020-12-28 13:42

    I've rewriten original answers using modern JS:

    const server1 = http.createServer(/*....*/);
    const server1Sockets = new Set();
    
    server1.on("connection", socket => {
        server1Sockets.add(socket);
        socket.on("close", () => {
            server1Sockets.delete(socket);
        });
    });
    
    function destroySockets(sockets) {
        for (const socket of sockets.values()) {
            socket.destroy();
        }
    }
    
    destroySockets(server1Sockets);
    

提交回复
热议问题