オンラインの例のほとんどは、サーバーがクライアントからの複数の着信接続をリッスンするマルチスレッド tcp サーバーの例です。
私が探しているのは、接続を開始するための「サーバー」です。100 台のデバイス (もちろんすべて異なる IP アドレス) がある場合、サーバーは各デバイスに 100 の個別の接続を確立し、デバイスからデータを受信する必要があります。
これは、デバイスに接続する方法です
_socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
_socket.SetSocketOption(SocketOptionLevel.Tcp, SocketOptionName.NoDelay, true);
_socket.SendTimeout = 2000;
_socket.ReceiveTimeout = 2000;
_socket.Connect(new IPEndPoint(IPAddress, TCPPort));
しかし、次の条件を満たすコンポーネントがあるかどうかを知りたいです
- デバイスに対して必要な数の TCP 接続を確立する
- 接続を介してデータを送受信する
- TCPタイムアウト/切断/その他を処理し、IPへの接続を再確立します
そのようなコンポーネントがない場合、どうすればよいかについてのヒントはありますか? たとえば、スレッドごとに 1 つの接続、またはデータが複数のパケットで受信された場合の処理方法など。
どんな洞察も大歓迎です