.NET ソケットの実装に関していくつかのポイントがあるので、それらを順番に述べます。
- 私の理解では、Socket のインスタンスは内部クラスの実装に変更可能なサイズのバッファーがあり、実際にはバイトのキューであり、アプリケーションで宣言および定義するアプリケーション バッファーとも異なります。
streamsocket type:および protocol type:を使用する同期モードで、(プロセスをブロックしている)tcpメソッドを使用する場合、Receiveアプリケーション バイト バッファーは、宣言したアプリケーション バイト バッファーと同じサイズのチャンクでソケット バッファーを実際にデキューします。アプリケーションで定義し、関数に送信したアプリケーション バイト バッファにこのチャンクを割り当てますReceive。- 上記が当てはまる場合、バイト バッファの長さがソケット キュー内のバイト要素よりも大きい場合はどうなるでしょうか。
- また、2 が正しい場合
Send、ソケットのメソッドは、アプリケーション バッファではなく、エンドポイントに接続されたホスト ソケット バッファにデータを送信します。 - 最後に、Socket メソッドは非ブロッキングであるため、基になる実装でスレッドが作成され、メソッドが呼び出され
Acceptたときにデキューされる独自のキューがあります。Accept
これまでの私の理解が正しいかどうか、またはほとんど間違っていて修正が必要かどうかを確認するために、これらすべてをお願いします。