WindowMobile如何判断网络有没连接和如何判WebService服务器地址是否正确(wifi有无打开)
WindowMobile 开发中,如果网络没有连接成功或者服务器地址错误,如果程序调用WebService方法的时候,软件将会崩溃。
有如下解决思路:
1、下载服务器特定的静态html,看是否能够下载成功,能够下载成功说明网络是畅通的。
1 //测试网络连接是否正常 2 private bool TestNet() 3 { 4 try 5 { 6 HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://" + textBox1.Text + @"/webTest.htm"); //服务器上面的一个静态html文件地址 7 request.Timeout = 10000; //连接超时时间 8 WebResponse response = request.GetResponse(); 9 Stream stream = response.GetResponseStream(); 10 Encoding encoding = Encoding.GetEncoding("gb2312"); 11 StreamReader reader = new StreamReader(stream, encoding); 12 string result = reader.ReadToEnd(); 13 reader.Close(); 14 if (result.Contains("eluxianfeng")) //静态文件的内容 15 { 16 MessageBox.Show("服务器连接成功!"); 17 return true; 18 } 19 else 20 { 21 MessageBox.Show("服务器连接失败!请检查服务器地址和端口是否正确!"); 22 return false; 23 } 24 } 25 catch (Exception e1) 26 { 27 StaticTools.WirteLog("在服务器地址测试:" + e1.Message + e1.StackTrace); 28 MessageBox.Show("服务器没响应!请检查服务器地址是否正确或者网络是否连接!"); 29 Cursor.Current = Cursors.Default; 30 return false; 31 } 32 }
2、直接判断wifi有无打开(因为程序用于局域网)。
using一个命名空间:
1 using Microsoft.WindowsMobile.Status;
//测试连接 private void button3_Click(object sender, EventArgs e) { bool isLineOn = SystemState.WiFiStateConnected; //网络是否畅通 if (!isLineOn) //如果网络不畅通 { MessageBox.Show("网络未连接,请检查网络是否畅通!"); return; } Cursor.Current = Cursors.WaitCursor; //光标设置为等待状态 TestNet(); //下载特定静态文件 Cursor.Current = Cursors.Default; //恢复光标初始状态 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?