为了保证系统运行的稳定性,因此申请了两条宽带线路,现在我是希望程序能自动判断哪条线路传输速度比较快就自动通过该线路连接,虽然通过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;