应用在3G网络下无法运行。在WiFi下工作正常。

4
我有一个应用程序,通过REST与Web服务器通信。当通过WiFi连接时,手机上可以正常工作,但在3G上无法正确工作。并非所有功能都停止工作。我仍然能够使用一些功能,但由于某种原因,一些对REST的调用会非常快地返回“”(空响应)。再次强调,当我连接WiFi时,一切都正常工作。只是为了澄清: 1. 我有数据计划 :) 2. 我连接到的服务器可以从互联网访问 有什么想法吗? 谢谢 Ralph

1
作为交叉检查,请尝试以下步骤: 使用默认浏览器浏览链接。
  1. 如果可以正常工作,那么问题在于代码。
  2. 如果不能正常工作,则可能存在3G连接或手机设置的问题。
- Vinay
2
你好,我有同样的问题。使用Wi-Fi可以正常工作,但使用3G失败。此外,我能够通过手机浏览器使用3G连接访问服务页面。有什么想法吗? - user422688
3个回答

3
不一定是手机特有的问题。如果您的APN设置缺少互联网APN,则可能会发生这种情况。您可能具有gprs和mms的APN,但您的提供商可能错过了为您发送互联网的APN的机会。快速谷歌一下您提供商的互联网APN设置,并在其中输入它。
!dea的一个样本互联网APN设置如下:
名称:idea_internet apn:internet apn类型:互联网
请尝试一下。这将解决所有通信应用程序的问题。我的Galaxy S3也有同样的问题,这个方法解决了它。
干杯! bonbets

0
如果问题仅在更改连接类型时发生,很可能是由于与服务器的连接质量不佳。
HTTP设计成在连接错误时,可以简单地重试完全相同的请求,直到收到结果。
但为了使其正常工作,必须确保以下几点。首先,所有响应都必须具有Content-Length。其次,所有方法应该是“安全”的(或幂等的)。
这意味着如果您多次发送请求,将收到相同的结果。 GET、PUT和DELETE没有问题。(PUT可能会说已创建或已更新,DELETE可能会说OK或已完成,但最终结果是相同的)。
POST是一个问题。解决方案是发送带有每个POST的唯一ID,并将其数据存储在一起。这样,您就可以确定是否有重复请求。
另一个问题可能是3GISP的缓存。确保服务器和客户端根据您的需求正确设置缓存。
Mike Brown

0
只需要将访问点名称从“GPRS/WAP”改为“Internet”,一切都会正常工作。现在我能够通过3G访问所有的应用程序。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接