下面是一个简单的 Node.js tcp 服务器。
var net = require('net');
var conn = [];
var server = net.createServer(function(client) {//'connection' listener
var i = conn.push(client) - 1;
//console.log('[conn',i,']', client.remoteAddress, ':', client.remotePort);
console.log('[disc]', conn[i].remoteAddress, ':', conn[i].remotePort);
client.on('end', function() {
console.log('[disc]', conn[i].remoteAddress, ':', conn[i].remotePort);
});
client.on('data', function(msg) {
console.log('[data]', msg.toString());
})
client.write('hello\r\n');
//client.pipe(client);
});
server.listen(8080);
当客户端连接、发送或断开连接时,它将打印有关客户端的信息。但是,只有当客户端断开连接时,它才会打印undefined
而不是套接字信息。例子:
[conn] 127.0.0.1 : 52711
[data] 127.0.0.1 : 52711 world!
[disc] undefined : undefined
为什么会这样?这是因为当它关闭时,套接字被破坏了吗?我需要知道有关关闭套接字的信息。