1

ポート 5888 (ダミー ポート) でリッスンするカスタム TCP プロキシ サーバーがあります。プロキシ サーバーは着信接続をリッスンします。プロキシが特定のページの HTTP リクエストを受信すると、ポート 80 でメイン サーバーに中継する必要があります。他のページ リクエストの場合、プロキシはポート 8081 でメイン サーバーにデータを送信する必要があります。

ポート 80 は HTML ページのサービスに使用され、ポート 8081 はクライアントへのデータのストリーミングに使用されます。

Client --> Proxy(TCP Proxy Server) --> MainServer
Client <-- Proxy(TCP Proxy Server) <-- MainServer

非同期プログラミング モデル (BeginXX および EndXX) を使用してプロキシを実装しました。プロキシは正常に動作しています。約 10 のクライアントをこのプロキシに接続しても問題ありません。

ここで、プロキシに 300 を超える同時クライアント接続を確立できるように、プロキシにスレッドを実装したいと考えています。非同期プログラミング モデル (非同期ソケット) を考慮して、このスレッドを実装するための最良の方法は何ですか。

4

1 に答える 1

0

スレッド化のためにスレッド化が必要なようです。

余分なスレッドを追加することで、具体的にどのような問題が解決されるのでしょうか?

非同期モデルが ThreadPool にコールバックすることを考えると、すでに無料で「スレッド化」を行っています。なぜもっと欲しいのですか?

読み取り操作の非同期コールバックで、あるストリームから別のストリームに問題なくコピーできます。書き込みにも async を使用する場合、ThreadPool に重大な負担がかかることはなく、IMO 作業はそこに残すのが最善です。

これに async/await を使用することを検討しましたか? それがオプションである場合、コードを数度ネストすることで、脳の負荷が軽減されます。

于 2012-10-11T10:14:35.660 に答える