Linux での send() についての私の理解では、送信プロセスのデータをカーネル バッファーに正常にコピーできる場合、send() は返されます。その後、アプリケーションは自由に移動できます。
これが本当で、TCP がそのパケットを配信できないと言う場合、TCP はどのようにエラーを報告しますか?
複数の send() の後でエラーを受け取った場合 (最初は Rwnd が大きかった)、アプリケーションはどの特定の send() が失敗したか、つまりどのメッセージが到達できなかったのかをどのように知るのでしょうか?