多くの(50,000以上)接続をサポートするtcpサーバーを書いていますが、これについて知りました。
同期送信は、非同期送信よりも少なくとも 3 倍優れたパフォーマンスを発揮しました。プログラムは、次の 2 行以外は同じです。
m_socket.Send(sendingBuffer, length, SocketFlags.None);
と
m_socket.BeginSend(sendingBuffer, 0, length, 0, new AsyncCallback(SendCallback), this);
SendCallback では、EndSend を呼び出すだけで、他には何もしません。
この大きなパフォーマンスの違いはどこから来るのでしょうか? 非同期メソッドのパフォーマンスが向上するはずではありませんか?