即使移除以太网电缆,也要持续监视C#套接字实例的连接

时间:2015-07-17 05:05:07

标签: c# sockets

目前我正在开发一个项目,我使用不同的C#套接字实例使用4个TCP / IP连接。但我的项目要求是持续监控这些连接是否开启。我使用了poll方法,但它只显示连接的最后状态,但如果以太网电缆应该被删除,那么它仍然显示最后状态。我需要检查所有时间正确连接是否是他们的所有情况。请帮我解决这个问题

我的民意调查方法功能

public static bool IsSocketConnected(Socket s)
        {
            try
            {
                if (s != null)
                    return !((s.Poll(1000, SelectMode.SelectRead) &&      (s.Available == 0)) || !s.Connected);
                else
                    return false;
            }
            catch(Exception es)
            {
                return false;
            }
        }

1 个答案:

答案 0 :(得分:0)

连接仅存在于TCP级别 - 网络接口只发送消息。 TCP非常智能,可以确保每条消息按照发送的顺序到达。

但是,如果没有发送消息(例如定期保持活动请求),它无法检测到另一方是否已无法访问。