1000 を超える同時接続を受け入れるマルチスレッド Socket Server アプリケーションを作成しました。最近、アプリケーションがクラッシュしました。ダンプファイルを分析した後、ヒープの破損によりアプリがクラッシュしたことがわかりました。次のリンクで説明されている同じ問題を見つけました。
.NET には信頼できる非同期ソケット通信がありませんか? http://support.microsoft.com/kb/947862
また、ディスカッションでは3つの解決策が提案されています。
ネットワーク アプリケーションは、ポストする未処理の非同期 IOの数に上限を設定する必要があります。
Microsoft CCR を使用する
TPL を使用する
時間的要因により、私は#1に固執することを考えましたが、これを実装する方法を明確に把握していません. 良い出発点を教えてください。
また、この問題を解決するために Async with TPL を使用した人はいますか?