QnA*_*QnA 2 c networking network-programming tcp network-protocols
我的问题实际上分为两部分:
从发送者的角度来看,
从接收者的角度来看,
除了 TCP 标头 FIN 标志之外,TCP 层是否真的在流中注入(或者更像附加,因为它应该位于流的末尾)一个人工字节,这意味着该字节是 TCP 有效负载的一部分?
不会。没有实际注入字节,只是增加了 TCP 序列号,因此很明显 ACK 是针对 FIN 的,而不是针对某些先前的数据。
这还意味着,如果收到 FIN,则不会将特殊字节放入套接字缓冲区并传递给应用程序,但套接字缓冲区会被标记为已完成。应用程序在空且“完成”的套接字缓冲区上进行读取将返回缓冲区中不再有数据并且永远不会返回,因此应用程序知道对等方已停止发送(即用于写入的套接字关闭或套接字关闭) 。
| 归档时间: |
|
| 查看次数: |
556 次 |
| 最近记录: |