/// <summary>
        /// 切换服务器
        /// </summary>
        /// <param name="objp">切换前的服务器</param>
        /// <param name="callback">切换后的服务器</param>
        private void ServerSwitch(CancellationToken token, Object_IP objp,Action<Object_IP> callback)
        {
            DeterMineCall(() =>
            {
                for (int i = switchSeed; i < dnsListTmp.Count; i++)
                {
                    if (token.IsCancellationRequested)
                    {
                        return;
                    }
                    objp.Ip = dnsListTmp[i].Ip;
                    objp.HttpSetSpeed();
                    switchSeed++;

                    if (objp.Speed != null)
                    {
                        hostAction.AddDnsResolve(objp.Ip, Properties.Resources.domain);
                        callback(objp);
                        break;
                    }
                }
                if (objp.Speed != null)
                {
                    AddListViewItem("切换完成 [{0}] ,响应速度={1}秒", Color.Green, new object[] { objp.Ip, objp.Speed.Value.TotalMilliseconds.ToString("#0.00") });
                }
            });
        }
        /// <summary>
        /// 监听方法
        /// </summary>
        private void ListenMethod(object token)
        {
            CancellationToken ct = (CancellationToken)token;
            if (ct.IsCancellationRequested)
            {
                return;
            }
            lock (locker)
            {
                Object_IP localhost = new Object_IP();
                string hostLine = hostAction.GetCacheServerIP(Properties.Resources.domain);
                if (ipAddress != null)
                {
                    localhost.Ip = ipAddress.ToString();
                    ipAddress = null;
                }
                else
                {
                    localhost.Ip = hostLine == "" ? Properties.Resources.domain : hostLine.Replace(" " + Properties.Resources.domain, "");
                }
                localhost.HttpSetSpeed();
                hostAction.AddDnsResolve(localhost.Ip, Properties.Resources.domain);

                if (localhost.Speed == null)
                {
                    AddListViewItem("服务器 [{0}] 操作超时,正在切换... ", Color.FromArgb(192, 0, 192), localhost.Ip);
                    ServerSwitch(ct, localhost, (obj) => localhost = obj);
                }
                else
                {
                    if (localhost.Speed.Value.TotalSeconds > 1)//小于1秒,为正常速度
                    {
                        AddListViewItem("服务器 [{0}] 速度过慢,响应速度={1}秒,正在切换... ", Color.FromArgb(192, 0, 192), localhost.Ip, localhost.Speed.Value.TotalSeconds.ToString("#0.00"));
                        ServerSwitch(ct, localhost, (obj) => localhost = obj);
                    }
                    else
                    {
                        AddListViewItem("服务器 [{0}] 正常,响应速度={1}秒", Color.FromArgb(192, 0, 192), localhost.Ip, localhost.Speed.Value.TotalSeconds.ToString("#0.00"));
                    }
                }
            }
            System.Threading.Thread.Sleep(10000);
            ListenMethod(token);
        }