private void UcNetSwitch_Load(object sender, EventArgs e) { ADSLItem adsl = new ADSLItem(); //adsl.EntryName = RiftSetConfig.Instance.ADSLName; //adsl.Password = RiftSetConfig.Instance.ADSLPwd; //adsl.User = RiftSetConfig.Instance.ADSLUser; ucAdsl = new UcAdsl(adsl, CoreGUIManager.Instance); ucAdsl.TestChanged += TestChanged; RouterItem router = new RouterItem(); //router.RouterType = RiftSetConfig.Instance.RouterType; //router.IP = RiftSetConfig.Instance.RouterIP; //router.Password = RiftSetConfig.Instance.RouterPwd; //router.User = RiftSetConfig.Instance.RouterUser; ucRouter = new UcRouter(router, CoreGUIManager.Instance); ucRouter.TestChanged += TestChanged; VPNFile vpn = new VPNFile(); //vpn.EntryName = RiftSetConfig.Instance.VpnEntryName; //vpn.File = RiftSetConfig.Instance.VpnFile; ucVpnList = new UcVpnList(vpn, CoreGUIManager.Instance); ucVpnList.TestChanged += TestChanged; }
private void btnTestRouter_Click(object sender, EventArgs e) { RouterManager routerMgr = new RouterManager(this.LogManager); DetectionParamsItem paramsItem = new DetectionParamsItem(); RouterItem router = this.GetRouterItem(); if (null != router) { paramsItem.ReconnectType = ReconnectType.Router; paramsItem.Router = router; this.OnTestChanged(true); LogManager.InfoWithCallback(string.Format("-> 正在开始对:{0} 进行网络重连测试,请稍等......", CommentAttributeGetter.GetAttribute <RouterType>(router.RouterType))); Thread t = new Thread(new ThreadStart(delegate() { bool isConnected = routerMgr.Reconnect(paramsItem); if (isConnected) { LogManager.InfoWithCallback(string.Format("-> 对:{0} 网络重连测试成功,网络恢复正常", CommentAttributeGetter.GetAttribute <RouterType>(router.RouterType))); } else { LogManager.InfoWithCallback(string.Format("-> 对:{0} 网络重连测试失败,请确保路由器可以正常访问!", CommentAttributeGetter.GetAttribute <RouterType>(router.RouterType))); } this.OnTestChanged(false); })); t.Start(); } }
public RouterItem GetRouterItem() { #region Router RouterItem routerItem = new RouterItem(); StringBuilder sb = new StringBuilder(); int i = 1; RouterType routerType = (RouterType)this.comboRouter.SelectedValue; routerItem.RouterType = routerType; string routerIp = this.txtRounterIp.Text.Trim(); if (!string.IsNullOrEmpty(routerIp) && TextHelper.IsIP(routerIp)) { routerItem.IP = routerIp; } else { sb.AppendLine(string.Format("{0}、您录入的不是有效的路由器IP地址!", i++)); } string routerUser = this.txtRouterUser.Text.Trim(); if (!string.IsNullOrEmpty(routerUser)) { routerItem.User = routerUser; } else { sb.AppendLine(string.Format("{0}、请录入正确的路由器登录用户名!", i++)); } string routerPwd = this.txtRouterPwd.Text.Trim(); if (!string.IsNullOrEmpty(routerPwd)) { routerItem.Password = routerPwd; } else { sb.AppendLine(string.Format("{0}、请录入正确的路由器登录密码!", i++)); } if (sb.Length > 0) { MessageBox.Show(sb.ToString()); return(null); } return(routerItem); #endregion }
/// <summary> /// Is restart rounter ok /// </summary> /// <param name="ip"></param> /// <returns></returns> public override bool Reconnect(RouterItem routerItem) { if (null == routerItem) { LogManager.Error("Router params can't be null!"); return(false); } this.RouterItem = routerItem; if (this.IsServerExisted(this.RouterItem.IP)) { LogManager.InfoWithCallback("-> 开始重启 TL-R402系列 SOHO宽带路由器!"); string content = string.Empty; string url = "http://{0}/userRpm/SysRebootRpm.htm?Reboot=%D6%D8%C6%F4%C2%B7%D3%C9%C6%F7 "; content = this.ReadFromUrl(string.Format(url, this.RouterItem.IP)); bool isRestarted = this.IsContains(content, "LoadMain()"); return(isRestarted); } return(false); }
public bool Reconnect(DetectionParamsItem detectionItem) { if ((null != detectionItem) && (detectionItem.ReconnectType == ReconnectType.Router)) { RouterItem routerItem = detectionItem.Router; LogManager.Info(string.Format("start restart router:{0}", routerItem.IP)); RouterBase router = this.GetRouter(routerItem.RouterType); router.Reconnect(routerItem); ReconnectManager.Sleep(); int i = 0; while (i++ < ReconnectManager.TRYCOUNT) { if (CmdHelper.PingBaidu() || CmdHelper.Ping163()) { return(true); } Thread.Sleep(2 * 1000); } return(false); } return(false); }
public UcRouter(RouterItem router, LogManagerBase logManager) { InitializeComponent(); this.Load += UcRouter_Load; this.LogManager = logManager; }
public abstract bool Reconnect(RouterItem routerItem);