net.createServer所创建的连接如何关闭,socket对象如何释放?
发布于 9 年前 作者 mercury233 4820 次浏览 最后一次编辑是 8 年前 来自 问答
var net = require("net");

net.createServer(function(socket) {
    socket.write("Connected");
    console.log("Connected");
    
    socket.a = "111111111111111";
    var b = "222222222222222";
    
    socket.on("close", function(data) {
        console.log("Closed");
    });

    socket.on("end", function(data) {
        console.log("Ended");
    });
    
    socket.on("data", function(data) {
        socket.end();
    });
}).listen(8888);

使用win7系统自带telnet进行连接,连接成功后输入任意字符,客户端显示遗失对主机的连接,但服务端上并没有提示Closed或Ended,直到在客户端按了任意键,才提示Ended然后Closed。 如何在服务端彻底关闭连接?socket.destroy();是正确的做法吗?

此外,上面的示例中的a和b会在连接关闭后自动被释放吗?如果不会的话应如何手动释放?

回到顶部