node.js を使用して tcp サービスを構築するための基礎を学び、利用可能な情報を把握するために、単純なエコー サーバーを構築しています。
以下に示すように、サーバーを作成しているとき、リモート アドレスなどの incomingSocket に関する情報にアクセスできます。ソケットのクローズに関する情報にアクセスできないのはなぜですか? 以下は私のコードです。私のコメントは、私が受け取った出力を示しています。
var net = require ( 'net' );
var server = net.createServer (
function ( incomingSocket )
{
//'connection' listener
console.log ( 'Connection from ' + incomingSocket.remoteAddress + ':' + incomingSocket.remotePort + " established." );
incomingSocket.on (
'data' ,
function ( data )
{
// The incomingSocket.remoteAddress is defined here
console.log ( incomingSocket.remoteAddress + ':' + incomingSocket.remotePort + ' -> ' + data.toString () );
}
);
incomingSocket.on (
'close' ,
function ()
{
// The incomingSocket.remoteAddress is undefined here
console.log ( 'connection from ' + incomingSocket.remoteAddress + ' closed.' );
}
);
incomingSocket.pipe ( incomingSocket );
}
);
// listening to a port happens here
返信をいただければ幸いです。ありがとうございました!