2017-07-31 10 views
0

は私がライブラリを持ってNode.jsのTCPクライアントTCPクライアントは

https://nodejs.org/api/net.html#net_socket_connect_path_connectlistener

を持っていると言うと、ライブラリがに接続するためのホスト/ポートの組み合わせの配列を受け取ります。私は、クライアントが1つだけの接続を作成したい。

const endpoints = [ 
{host: h1, port: p1}, 
{host: h2, port: p2}, 
{host: h3, port: p3}, 
]; 

私はこれらに接続するための簡単なメカニズムをどのように実装できますか?

私の推測によると、最も簡単な方法は、最初に接続するまで順次接続していくことです。

私が心配しているのは、何とか2つの異なるエンドポイントに接続されているクライアントです。それは可能ですか?

- タイムアウトでシリアルに接続し、それらをすべて並列に接続しようとすると、それほど安全ではないようです。 最初の「本当の」接続の後に必要でない接続やハーフ接続を適切にクリーンアップするという問題があるようです。

答えて

1

私は、一般に、各接続は1回のリクエストを送信してそれに応答するのに十分長い間だけ持続すると信じています。実際には複数のエンドポイントに接続することが可能です。 1つだけに接続したい場合は、シリアルに接続する必要があります。 (または、非同期に接続して最初に応答することもできますが、受け入れられないものにも最初の接続を試みることができます;それが問題であるかどうかは、接続する理由によって異なりますただ1つに)

関連する問題