我在移动设备(Pocket PC 2003)中开发了一个程序来访问 Web 服务,该 Web 服务安装在带有 IIS 的 Windows XP SP2 PC 上,PC 的 IP 为 192.168.5.2。
设备从无线网络获取 IP 192.168.5.118 并且程序运行正常,它从 Web 服务调用方法并执行所需的操作。该程序将用于各种建筑物。
现在我遇到了这个问题,事实证明,当我尝试在与网络连接的另一座建筑物(距离大约 100 米或 200 米)中测试它时,程序无法连接到 web 服务,此时设备从IP 192.168.10.25 的访问点,它访问我之前提到的同一台 XP 机器(192.168.5.2)。我制作了一个移动 aspx 页面,以验证我可以通过网络访问 Web 服务器并将其加载到设备中,我什至制作了一个 winform,可以从该建筑物访问 PC 中的相同 Web 服务,并且也可以在那里工作,所以我没有不明白发生了什么。我还尝试 ping 那台 192.168.5.2 PC 并且它响应活跃。
在那次失败之后,我回到了我之前测试程序的原始位置,它恰好可以正常工作。
我在这里唯一看起来不同的是 IP 中的第三个数字是 10 而不是 5,另一个观察是我无法 ping 到移动设备。我感到很困惑,我不知道这里发生了什么?可能是什么问题呢?
这就是我调用网络服务的方式;
//Connect to webservice
svc = new TheWebService();
svc.Credentials = new System.Net.NetworkCredential(Settings.UserName, Settings.Password);
svc.AllowAutoRedirect = false;
svc.UserAgent = Settings.UserAgent;
svc.PreAuthenticate = true;
svc.Url = Settings.Url;
svc.Timeout = System.Threading.Timeout.Infinite;
//Send information to webservice
svc.ExecuteMethod(info);
移动设备中 app.config 的内容是;
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="UserName" value="administrator" />
<add key="Password" value="************" />
<add key="UserAgent" value="My User Agent" />
<add key="Url" value="http://192.168.5.2/WebServices/TWUD.asmx" />
</appSettings>
</configuration>
有谁知道发生了什么?