在TCP套接字编程中,如果
因此,我的问题实际上是,如果
recv()
返回0,则表示对方关闭了连接。然而,据我所知,TCP RFC并没有规定TCP负载必须> 0。因此,理论上,TCP堆栈可以接收大小为0的负载消息。因此,我的问题实际上是,如果
recv()
接收到大小为0的数据包,它将返回什么?如果它返回0,那么我们如何将其与关闭连接指示区分开来。
SYN
或连接重置之外,每个数据包都设置了ACK
位。 - caf