我有一个Linux应用程序,该应用程序通过套接字连接到在VM上运行的Windows应用程序。我的问题是,当Windows VM重新引导时,Linux应用程序继续认为该连接处于活动状态(这是预期的)。
我在Linux应用程序中实现了一个心跳机制。 Windows应用程序重新启动时,心跳发送呼叫将(并且应该)成功。
但是,一旦Windows VM重新启动(并且我的应用程序正在运行),我的心跳发送应该失败,并且RST并且套接字关闭。这没有发生,并且连接继续处于已建立状态。
编辑:1.心跳发送卡在我套接字的发送缓冲区中。 2.这在linux到linux套接字上永远不会发生。服务器应用程序崩溃时,我总是得到RST。