371918642 发表于 2015-9-30 13:42:47

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;   //恢复光标初始状态
         
}
  
页: [1]
查看完整版本: WindowMobile如何判断网络有没连接和如何判WebService服务器地址是否正确(wifi有无打开)