1

オンラインの例のほとんどは、サーバーがクライアントからの複数の着信接続をリッスンするマルチスレッド 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 つの接続、またはデータが複数のパケットで受信された場合の処理​​方法など。

どんな洞察も大歓迎です

4

1 に答える 1

2

必要なものを実現するために使用できる既存のコンポーネントがいくつかあります。http://www.networkcomms.netとhttp://code.google.com/p/lidgren-network-gen3/を確認してください

人々は常に、あなたが与えた例のように、すべてを自分でゼロから書くことを止めるものは何もないことを追加することを好むと言っていました.

免責事項: 私は NetworkComms.Net の開発者です。

于 2013-06-10T13:38:41.697 に答える