Networking 发送FIN的TCP端点是否仍发送keepalive?

Networking 发送FIN的TCP端点是否仍发送keepalive?,networking,tcp,Networking,Tcp,发送FIN表示终端不会发送任何数据。但它能发送TCP keepalive吗 如果可以的话,它就与“在FIN之后发送内容”的说法相矛盾,即使它是keepalive而不是data 如果它不发送keepalive,它将无法检测另一端是否消失 例如: 客户发送FIN并获得ACK。服务器随后发送了一个丢失的重置。 客户端可以检测到服务器已离开的唯一方法是发送keepalive,它将以reset进行响应,然后客户端关闭 这会发生吗 根据: 只有在间隔内未收到连接的数据或确认数据包时,才能发送保持活动的数据包

发送FIN表示终端不会发送任何数据。但它能发送TCP keepalive吗

如果可以的话,它就与“在FIN之后发送内容”的说法相矛盾,即使它是keepalive而不是data

如果它不发送keepalive,它将无法检测另一端是否消失

例如:

客户发送FIN并获得ACK。服务器随后发送了一个丢失的重置。 客户端可以检测到服务器已离开的唯一方法是发送keepalive,它将以reset进行响应,然后客户端关闭

这会发生吗

根据:

只有在间隔内未收到连接的数据或确认数据包时,才能发送保持活动的数据包

发送
FIN
只是表示不再发送数据,而不是表示无法接收更多数据。如果发送
FIN
后的应用程序仍然需要数据,则RFC指示它可以发送保持活动的数据包,以确保另一端仍然存在