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;   //恢复光标初始状态
           
        }
复制代码

 

posted @   windwos7  阅读(2312)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击留言
点击右上角即可分享
微信分享提示