外部サーバーに接続するいくつかのノード tcp クライアントと tls クライアントがあります。
var socket = net.connect(args.connect.ip_port, args.connect.host);
socket.setTimeout(this.timeout);
socket.on('connect', this.socketOnConnect.bind(this));
socket.on('error', this.socketOnError.bind(this));
socket.on('timeout', this.socketOnTimeout.bind(this));
また
this.clearStream = tls.connect(
args.connect.ip_port,
args.connect.url,
{},
this.onSecureConnect.bind(this)
);
this.clearStream.on('error', this.clearStreamOnError.bind(this));
this.clearStream.on('end', this.clearStreamOnEnd.bind(this));
これらのサーバーは両方とも、未処理のエラーを断続的に発行します。
(err): events.js:72
(err): throw er; // Unhandled 'error' event
(err): ^
(err): Error: read ECONNRESET
(err): at errnoException (net.js:904:11)
(err): at TCP.onread (net.js:558:19)
(err): events.js:72
(err): throw er; // Unhandled 'error' event
(err): ^
(err): Error: read ECONNRESET
(err): at errnoException (net.js:904:11)
(err): at TCP.onread (net.js:558:19)
on('error ハンドラーはこれらのエラーを処理する必要があると考えましたが、明らかにそうではありません。
ドメインを使用して接続呼び出しをラップできると思いますが、それを行う前に何が起こっているのかを理解したいと思います。