我已经使用配置了我的 C# .Net 套接字
m_clientSocket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.KeepAlive, Convert.ToInt32(True))
m_clientSocket.IOControl(IOControlCode.KeepAliveValues, SIO_KEEPALIVE_VALS, result)
我的设置是每 30 秒发送一次,然后在未收到第一个确认时每 10 秒发送一次。
当连接建立时,我可以看到保持活动状态和保持活动状态确认标志被发送和接收到我的服务器。
当连接断开时,我可以看到我的保持活动被发送并且没有收到确认。我可以看到发送的保持活动已根据我的设置改变了它们的行为,即每 10 秒发送一次,而不是每 30 秒发送一次。
我期待某种事件触发,以便我可以响应中断(即关闭套接字,然后开始尝试回收它)。
谁能告诉我如何了解 Keep Alives 已经注意到连接断开的事实?
谢谢阿迪