すべてのソケット API と同様に、実際に送信されたバイト数を返すと言われています。返された数値が入力のサイズと一致しないのはどのような状況ですか?
私の素朴な仮定は、ウィンドウがいっぱいになるまで完全なセグメントを送信し、ACK が返されるのを待つことでした (私は W10 から Ubuntu に送信しており、両方ともデフォルトで Nagle のアルゴリズムを使用していると想定しています)。
ただし、送信するために 100MB を超えるバッファを渡しても、常に入力バッファのサイズが返されます。標準ライブラリは自動的に「内部的に複数回送信を呼び出す」か、または私のubuntuがACKを送信するのが速すぎますか? それとも、API や Nagle のアルゴリズムを間違って解釈したのでしょうか?