2

マルチクライアントTCP接続にスレッドプールを使用できることを学びました。今日、これを実装したいC#アプリケーションがあります。たとえば、この質問に対する最初の回答(複数のtcpクライアントを受け入れるための最良の方法は? )をいくつか読みましたが、「ニーズ」に対応するために最後の調整を行う方法がわかりません。接続ごとにメッセージ処理機能があります(各接続は2つのスレッドで、1つはメッセージの受信/送信用(接続はほとんどの場合長時間開いています)、もう1つはメッセージに応じてタスクを実行します(返信の回答も作成します) 。以下のリンクで受信メソッドを使用したいのですが、私の例ではスレッドプールでこれをどのように行うことができますか?

不明な点がある場合は、質問してください。

/ニック

4

1 に答える 1

0

接続ごとに1つのスレッドを使用しないでください。OSで多くのオーバーヘッドが発生し、拡張性が低くなります。

今日、私たちはNIO:ノンブロッキングI/Oを使用しています。1つのスレッドで10k以上の接続を処理できます。たとえばNodeJのように、それらを使用する非常に簡単な方法があります。NIOライブラリは、ほとんどのプラットフォーム/言語で利用できます(Netty for Java、NodeJとjavascriptなど)。

使用している言語/環境を指定する必要があります。

于 2012-09-02T18:31:10.787 に答える