接続を待機している専用スレッドでブロックするだけでなく、BeginAccept を使用することでスケーラビリティの利点が得られるかどうかを考えようとしていました。明らかに、個々のクライアントはネットワーク IO に IOCP を利用するために BeginXXX/EndXXX ペアを使用しますが、クライアント接続の待機時間は非常に短いはずだと思います。着信接続を処理する Task を作成する予定なので、Accept が完了した後のフォローアップ コードは、メインの受け入れスレッドを非常に長い間ブロックせず (Task オブジェクトを作成するのに十分な時間)、すぐにブロックに戻ることができます。新しい接続について。これは、非同期呼び出しを管理する複雑さなしに、BeginAccept/EndAccept のみで行うこととほとんど同じです。
ですから、私の質問は、受け入れに IOCP を使用することで得られるスケーラビリティの利点があるとすれば、それは何ですか? これは、個々のクライアント ソケットでの送受信用ではなく、サーバー リッスン ソケットでの接続の受け入れ用であることに注意してください。