C# 当.Net套接字保持活动状态未收到ackowledgement时,会引发什么事件?

C# 当.Net套接字保持活动状态未收到ackowledgement时,会引发什么事件?,c#,.net,sockets,connection,keep-alive,C#,.net,Sockets,Connection,Keep Alive,我已使用配置了我的C#.Net套接字 m_clientSocket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.KeepAlive, Convert.ToInt32(True)) m_clientSocket.IOControl(IOControlCode.KeepAliveValues, SIO_KEEPALIVE_VALS, result) 我的设置是每30秒发送一次,然后在未收到第一次确认时每10秒发送一次 我可

我已使用配置了我的C#.Net套接字

m_clientSocket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.KeepAlive, Convert.ToInt32(True))

m_clientSocket.IOControl(IOControlCode.KeepAliveValues, SIO_KEEPALIVE_VALS, result)
我的设置是每30秒发送一次,然后在未收到第一次确认时每10秒发送一次

我可以看到连接启动时,keep alive和keep alive ack标志被发送和接收到我的服务器

当连接中断时,我可以看到我的keep alive被发送,而没有收到确认。我可以看到,正在发送的keep alive已根据我的设置更改了它们的行为,即它们每10秒发送一次,而不是每30秒发送一次

我希望触发某种事件,以便对中断做出响应(即关闭套接字,然后开始尝试回收)

有谁能告诉我,如何去了解一个事实,那就是,那些活着的人已经注意到这种联系已经中断了

谢谢
Ady

套接字不会引发有关其连接状态的事件(或其他相关事件)。 要检测故障,您需要执行发送或接收操作

如果定期轮询套接字,还应该得到失败指示。这里有一个例子: