CNode

net.createServer所创建的连接如何关闭,socket对象如何释放?

问答
Mmercury233发布于11 年前最后回复11 年前0 回复5371 浏览0 收藏
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会在连接关闭后自动被释放吗?如果不会的话应如何手动释放?

查看回复

回复 (0)

暂无回复,成为第一个参与讨论的人。
参与回复
登录后即可参与回复。登录