要件: WindowsサービスベースのC#.NET 4.5は常に縦(または少なくとも長)接続されたTCPサーバーアーキテクチャで、可能な最大接続数。クライアントはどんなIoT(事のインターネット)でもかまいません。C#.Net 4.5を使用して効率的かつスケーラブルに接続されたTCP Windowsサービス4.5
私はポートの制限を認識していますが、なぜこのテクノロジーの時代のこれらの制限(私たちは常に限界がありますが、なぜ古いものなのでしょうか?また、一時的なtcp/http接続はうまくスケーリングされますが、ここでは必須ではありません。
デザイン:非同期受け入れる新しい接続(サーバーの存続期間)のためのサーバーごと
シングルスレッド。 コード:
rawTcpClient = await tcpListener.AcceptTcpClientAsync();
クライアント接続ごとに1つのスレッド(ループ)がクライアント接続を保持しますか?
クライアント操作(短期、断続
操作)を実行するためのタスクの最適化に関する私の質問(?可能な場合)
を(下の私のQを参照してください): をどのようにして最適化することができます/これはクライアントの存続期間であるため、接続ごとに1つのスレッドではなく、一連のスレッド/スレッドプールにすべてのクライアント接続を保持するように管理します。
例:接続されたクライアントを保持するために割り当てられたタスクは、サーバーごとに50個しか割り当てられていないため、切断されず、クライアントデータを待機しています。
これはまだWCFのユースケースです。 –
WCFはこれを正確に行います。 – Ben
そして、おそらくその多くのスレッドを使用しないでください。 – VMAtm