无法从移动设备访问Web服务
我在移动设备(Pocket PC 2003)中开发了一个程序来访问Web服务,该Web服务安装在具有IIS的Windows XP SP2 PC上,该PC的IP为192.168.5.2.
设备从无线网络获取IP 192.168.5.118,程序运行正常,它从Web服务中调用该方法并执行所需的操作。该程序将在各种建筑物中使用。
现在,我遇到了这个问题,结果是,当我尝试在与网络连接的另一座建筑物(距离大约为100 mts或者200 mts)中进行测试时,程序无法连接到Web服务,此时设备从一个IP为192.168.10.25的访问点,它访问我之前说过的同一XP计算机(192.168.5.2)。我制作了一个移动aspx页面,以验证是否可以通过网络访问Web服务器并将其加载到设备中,甚至制作了Winform,该Winform可以从该建筑物访问PC中的同一Web服务,并且也可以在其中运行,所以我不了解发生了什么。我还尝试对192.168.5.2 PC进行ping操作,它仍然可以响应。
失败之后,我回到了之前测试程序的原始位置,并且碰巧它可以正常工作。
我在这里看起来唯一的不同是IP中的第三个数字是10而不是5,另一个发现是我无法ping通移动设备。我感到困惑,我不知道这里会发生什么?可能是什么问题呢?
这就是我所谓的Web服务。
//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>
有人知道发生了什么吗?
解决方案
回答
不是这方面的专家,但看起来地址的前3个部分已被掩盖。是否可以为移动设备提供以下网络掩码:
255.255.255.0
为了超出前三个部分的范围,我们需要使用以下遮罩:
255.255.0.0
这可能是过分简化或者完全错误的方法,但这是我对问题的直截了当的回答。
回答
这看起来像是一个网络问题,除非.Net CF中存在一个奇怪的错误,该错误不允许我们在某些情况下遍历子网(我无法从谷歌搜索中找到任何类似的证据)。
我们可以从网络/ IT团队获得任何支持吗?另外,我们是否从其他子网尝试过? IE。与XP机器(192.168.5.x)不同,并且与目前无法使用的机器(192.168.10. )不同。
@Shaun Austin不会解释为什么他们可以从不同的子网访问XP计算机上的常规网页。
回答
这是网络问题,我们配置了代理服务器,这就是问题,我需要详细了解网络。