当前位置: 代码迷 >> Web Service >> 通过WCF怎么快速判断网络是否畅通?
  详细解决方案

通过WCF怎么快速判断网络是否畅通?

热度:301   发布时间:2013-04-05 10:24:33.0
通过WCF如何快速判断网络是否畅通??
为了保证系统运行的稳定性,因此申请了两条宽带线路,现在我是希望程序能自动判断哪条线路传输速度比较快就自动通过该线路连接,虽然通过PING可以判断,但如果服务器设置了禁PING就没法用了,想问问大家有没有什么更好的办法(直接通过WCF进行判断更好)可以快速判断线路是否畅通(能够放回响应速度更好)的办法,多谢了。

------解决方案--------------------
统计一个远程调用的时间花费,选短的那个
------解决方案--------------------
引用:
那样如果网络不通的话程序会停顿很长时间啊。

那你试试用Socket直接connect目标的EndPoint
bool b = false;

            IPEndPoint point = new IPEndPoint(IPAddress.Parse(ip), port);
            Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
            try
            {
                socket.Connect(point);
                b = true;
            }
            catch
            {
                b = false;
            }
            finally
            {
                socket.Close();
            }

            return b;
  相关解决方案