有一个程序需要长时间的连接网络,比如说下载工具。但是网络状况不好的话会断线,请问大家有谁知道怎么能够在检测到断线之后,自动重新连接网络。用C#怎么实现。最好能有一些程序示例。谢谢大家了。
解决方案 »
- 求中英互译Demo
- C#如何去掉窗体右上角的关闭“×"。C# WinForm程序如何打开一个网址http://www.baidu.com/"
- 重发:如何继承控件,并且调用?
- 如何在.net的编辑环境里面统一调整Label或者其它控件的字体??(vs2003)
- 一个星期了,没人回答----dataset怎么导出dbf
- 请教如何做项目?并寻找项目合作人员(手上有张定餐系统单子要做)!
- 新手请教C#程序打包成EXE的问题
- 帮我看看,这个简单的问题?
- 怎么在指定位置显示Bitmap?
- 我的Net程序中的TreeView中在ImageList中添加了图像,设置完全正确,就是显不出图标...
- web如何取winform中的值
- winform中树与数据库绑定后上下移动树节点的问题
可以创建一个Timer,定时检测,如果你的程序能Catch到断网后的异常,就写在Catch里面. public static string CmdPing(string strIp)
{
Process p = new Process(); p.StartInfo.FileName = "cmd.exe";
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.CreateNoWindow = true;
string pingrst; p.Start();
p.StandardInput.WriteLine("ping -n 1 " + strIp);
p.StandardInput.WriteLine("exit"); string strRst = p.StandardOutput.ReadToEnd(); if (strRst.IndexOf("(0% loss)") != -1)
pingrst = "Connect successfully.";
else if (strRst.IndexOf("Destination host unreachable.") != -1)
pingrst = "Destination host unreachable.";
else if ((strRst.IndexOf("Request timed out.") != -1) | (strRst.IndexOf("(100% loss)") != -1))
pingrst = "Request timed out.";
else if (strRst.IndexOf("Unknown host") != -1)
pingrst = "Unknown host";
else
pingrst = strRst; p.Close(); return pingrst;
}