2017-10-02 10 views
0

を管理します彼らは静的なtcpソースポートを持っています)。Nodejs TCPサーバーは、私はDebianの8</p> <p>にnodejsを使用して実行されているTCPサーバーをした私は(私のコントロールの外に私が持っているTCPクライアントのTCPスタックのために再利用するTCPポートを備えたいくつかの問題を抱えていたエラー

私が正しいものである。このエラー処理のどの知りたい:それは遭遇ソケット自体だから

net.createServer(function(sock) { 
    [...] 
    sock.on('error', function(e) { 
     console.log('Network error ' + e); 
     sock.destroy() 
    })}).listen(PORT, HOST); 

それとも

net.createServer(function(sock) { 
    [...] 
    sock.on('error', function(e) { 
     console.log('Network error ' + e); 
    })}).listen(PORT, HOST); 

答えて

0

あなたは、sock.destroy()を呼び出す必要はありません。エラー状態になるので、それ自体の後でクリーンアップされます(あなたのアプリケーションの何かがエラーを引き起こし、ソケットをすばやく閉じたい場合に呼び出します)。

しかし、別のエラーハンドラ、つまりサーバー自体に添付されているエラーハンドラがありません。これはlisten()で呼び出されるものです。

net.createServer(function(sock) { 

    ... 

    sock.on('error', function(e) { 
    console.log('Socket error:', e); 
    }); 

}).listen(PORT, HOST).on('error', function(e) { 
    console.log('Server error:', e); 
}); 
関連する問題