次のような単純なTCPサーバーがあります。
var net = require('net');
var PORT = 6346;
var server = net.createServer(function(socket) {
socket.on('connect', function() {
console.log('Client connected: ' + socket.remoteAddress);
socket.write('Welcome to the server!\r\n');
});
socket.on('end', function() {
console.log('Client disconnected: ' + socket.remoteAddress);
});
socket.on('error', function() {
console.log('Client error: ' + socket.remoteAddress);
});
socket.on('timeout', function() {
console.log('Client timed out:' + socket.remoteAddress);
});
}).listen(PORT);
サーバーに接続すると期待通りの結果が表示されますClient connected: 127.0.0.1
が、切断すると が表示されますClient disconnected: undefined
。socket.remoteAddress が定義されていないのはなぜですか? また、切断時にクライアントの IP をログに記録するにはどうすればよいですか?