问题

最近电脑宽带总是自动掉线,蛋疼啊。
在网络上下载了工具,实现自动重连,但是都带广告着啊,不能忍
不能忍。

思路

用C#操作宽带连接,包括Java或者其他语言操作宽带连接,一个很简单的方法是使用在代码中执行cmd命令,通过该进程的输出内容判断执行结果。

网络是否已连接

已连接

C:\Users\MrSeng>rasdial
已连接
宽带连接
命令已完成。

未连接

C:\Users\MrSeng>rasdial
没有连接
命令已完成。

连接宽带

C:\Users\MrSeng>rasdial 宽带连接 13233053569 yz2000
正在连接到 宽带连接...
正在验证用户名及密码...
正在网络上注册你的计算机...
已连接 宽带连接。
命令已完成。

代码

class Manager
{private static bool isRunning = false; //是否自动重连public static void setIsRunning(bool b){isRunning = b;}private string adslTitle, adslName, adslPwd;private int wait;public Manager(string adslTitle,string adslName,string adslPwd,bool isAuto,int wait){this.adslTitle = adslTitle;this.adslName = adslName;this.adslPwd = adslPwd;this.wait = wait;isRunning = isAuto;}//运行cmdpublic static  string exeCmd(string cmd){cmd = cmd.Trim().TrimEnd('&') + "&exit";//说明:不管命令是否成功均执行exit命令,否则当调用ReadToEnd()方法时,会处于假死状态using (Process p = new Process()){p.StartInfo.FileName = "cmd.exe";p.StartInfo.UseShellExecute = false;        //是否使用操作系统shell启动p.StartInfo.RedirectStandardInput = true;   //接受来自调用程序的输入信息p.StartInfo.RedirectStandardOutput = true;  //由调用程序获取输出信息p.StartInfo.RedirectStandardError = true;   //重定向标准错误输出p.StartInfo.CreateNoWindow = true;          //不显示程序窗口p.Start();//启动程序//向cmd窗口写入命令p.StandardInput.WriteLine(cmd);p.StandardInput.AutoFlush = true;//获取cmd窗口的输出信息string output = p.StandardOutput.ReadToEnd();p.WaitForExit();//等待程序执行完退出进程p.Close();return output;}}//判断是否已连接public static bool isConned(){string cmd = "rasdial";string result = exeCmd(cmd);return result.Contains("已连接");}//连接宽带public  bool conn(){if (!isConned()){string cmd = "rasdial " + adslTitle + " " + adslName + " " + adslPwd;string result = exeCmd(cmd);return result.Contains("已连接");}return true;}//断开public  bool cutConn(){if (isConned()){string cmd = "rasdial " + adslTitle + " /disconnect";return !exeCmd(cmd).Contains("没有");}return true;}private void taskMethod(Object wait ){int delay = int.Parse(wait as string);while (isRunning){if (!isConned()){conn();}Thread.Sleep(delay);}}public void connNet(){if (isRunning){conn();}else{ThreadPool.QueueUserWorkItem(taskMethod, wait * 1000 + "");}}
}

国际惯例

附上源码与可执行文件
http://pan.baidu.com/s/1geJdPw3

Windows宽带断线重连(C#)相关推荐

  1. Drcom客户端可以卸载了! 在Windows上编写bat脚本实现深大校园网认证, 并可断线重连(Drcom Pt版)

    写在前面 之前有写文章分析了深大校园网的认证过程, 编写Linux脚本可在路由器等Linux设备上实现自动登录, 断线自动重连. 考虑到Windows才是主要使用者, 本篇文章分享在Windows上编 ...

  2. 开机自动拨号,断线重连,并且动态解析dns记录,java版

    上一篇文章讲到:开机自动拨号与DDNS 它的实现方式是win10自带的批处理文件,但在我使用的过程中发现,这个批处理文件有些时候会失效,因为在那个批处理文件是以异常的产生才执行对应操作,但在使用的过程 ...

  3. 一步到位自动拨号及断线重拨

    一步到位自动拨号及断线重拨 对使用ADSL虚拟拨号接入宽带的朋友来说,最头疼的恐怕就是:每次上网都需要拨号.断线后还需要重新拨号了.其实自己动手,简单设置一下,就可以做到一劳永逸!下面以"W ...

  4. 支持断线重连、永久watcher、递归操作 ZooKeeper 客户端

    项目介绍 ZooKeeper本质上是一个分布式的小文件存储系统.原本是Apache Hadoop的一个组件,现在被拆分为一个Hadoop的独立子项目. Zookeeper 作为一个分布式的服务框架,主 ...

  5. Delphi断线重连线程

    作为tcp客户端,使用TIdTcpClient控件,在与后台服务的交互时,如果出现网络异常,或者后台服务重启,会导致无法保存数据或查询后台数据,这种情况下可以开启断线重连线程,自动连接上后台服务 un ...

  6. C# + Socket断线重连 整理

    Socket 连接异常之"由于目标机器积极拒绝,无法连接(System.Net.Sockets.SocketException:Connection refused)" 1.如果是 ...

  7. 关于tcp断线重连的问题

    在工控上经常用到tcp连接,比如串口服务器或某些支持modbustcp协议的仪表等,以前尽量使用串口服务器的虚拟串口功能,现在逐步使用上了tcpserver或tcpclient模式. 搜索了个C++ ...

  8. 面试官问:服务的心跳机制与断线重连,Netty底层是怎么实现的?懵了

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 心跳机制 何为心跳 所谓心跳, 即在 TCP 长连接中, ...

  9. Netty实现心跳机制与断线重连

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 来源:https://www.jianshu.com/p/ ...

最新文章

  1. ZeroClipboard跨浏览器复制粘贴
  2. OpenCV中利用cvConvertScale()对图像数据作线性变换
  3. Genymotion出现unknown generic error和This may occur if you are using a proxy错误的解决方案
  4. python 节气计算_python 生成 1900-2100 的二十四节气文件
  5. matlab 倒数第二个位置_MATLAB中运行以下程序后倒数第二部分画图程序要怎么改??、、、...
  6. JavaSE----多态
  7. linux下对进程按照内存使用情况进行排序
  8. 20150823 命令练习总结
  9. Hibernate关系映射(三) 多对一和一对多
  10. 计算机用老毛桃u盘备份系统,如何用老毛桃u盘备份系统
  11. 工作感想——离开公司
  12. 2020年android系统版本多少,2020年的Android系统会是什么样?
  13. leaflet 加载高德地图
  14. 将两个递增的有序链表合并成一个递增的有序链表(CPP版)
  15. SVN怎么去掉版本控制,去除调svn绿色图标显示
  16. 处理文档用计算机配置文件,计算机中丢失api-ms-win-crt-runtime-l1-1-0.dll的修复方案...
  17. 基于Android Tv制作一个Tv桌面(二)
  18. 2019年大学计算机排名,2019年USNews大学计算机专业排名!
  19. 计算机软件技术基础图片,计算机软件技术基础.ppt
  20. Linux服务器基本安全防范

热门文章

  1. Redis可视化工具RDM安装包分享
  2. 如何专业地命名嵌入式软件版本?
  3. 使用Gogs轻松搭建可能比GitLab更好用的Git服务平台 1
  4. 某H考研:计算机考研难度大学排行榜
  5. Talk预告 | 微软高级研究员杨征元:统一的视觉语言模型
  6. 在游戏中弹出GameCenter登陆界面
  7. riverslei/payment 支付宝
  8. 现实中的网络安全工作是怎样的?常见的网安工作岗位有哪些?
  9. 【历史上的今天】11 月 30 日:Windows Vista 诞生;初代 Nook 电子书发布;自动驾驶先驱出生
  10. role属性:html中role的作用