既然是Socket服务器,里面跑的是你自己写的Socket服务?
ping速只是系统给你响应的速度,服务是否繁忙是不知道的.
所以你得发个包,检测一下返回时间.

解决方案 »

  1.   


            Ping pingSender = new Ping();
            PingOptions options = new PingOptions();
            options.DontFragment = true;
            string data = "xx";
            byte[] buffer = Encoding.ASCII.GetBytes(data);
            PingReply reply = pingSender.Send(Dns.GetHostAddresses("dns")[0], 120, buffer, options);
            if (reply.Status == IPStatus.Success)
            {
               long reply = reply.RoundtripTime; //记录下服务器的响应时间,再比较,找到值最小的
            }
      

  2.   

    服务端的socket收到连接不要动..收到byte的时候 立马回复相同的byte那么本地发送的时候 记录时间a接收到服务器返回的记录时间b不同服务器 互相比较下..数据字节多少 也从小到大依次加多点...