我有通过REST与Web服务器通信的应用程序。通过WiFi连接时,它在手机上正常工作,但在3G上无法正常工作。
并非一切都停止工作。我仍然可以使用某些功能,但由于某种原因,一些调用休息会很快返回“”(空响应)。当我在WiFi上时,一切正常。
只是为了澄清: 1.我有数据计划:) 2.我正在连接的服务器可从Internet访问
有什么想法吗?
由于 拉尔夫
答案 0 :(得分:3)
它不一定是手机特定的问题。如果您的APN设置缺少互联网APN,则可能会发生这种情况。您可能正在为gprs和mms提供APN,但您的提供商很可能错过了将您的APN发送给您的互联网。快速谷歌了解您的提供商的互联网APN设置,并在那里输入。
!dea的示例互联网APN设置如下所示。
name:idea_internet apn:互联网 apn类型:互联网
请尝试一下。这将解决所有通信应用程序的问题。我在我的银河S3上也有同样的问题,这解决了我的问题。
干杯! bonbets
答案 1 :(得分:0)
如果仅在更改连接类型时出现问题,则很可能是由于与服务器的连接不良造成的。
HTTP的设计使得在发生连接错误时,您只需重试完全相同的请求,直到收到结果为止。
但为了实现这一点,你必须确保一些事情。首先。所有回复都必须具有内容长度。其次,所有方法都应该是“安全的”(或幂等的)。
这意味着如果您多次发送请求,您将收到相同的结果。 GET,PUT和DELETE很好。 (PUT可能会说创建或更新,DELETE可能会说OK或已经完成但最终结果是相同的。)
POST是一个问题。解决方案是在每次POST时发送一个唯一的ID,并与其数据一起存储。因此,您可以判断是否存在重复请求。
另一个问题可能是3G ISP的缓存。确保服务器和客户端正确设置缓存以满足您的需求。
迈克·布朗答案 2 :(得分:0)
只需将接入点名称从“GPRS / WAP”更改为“Internet”....它可以正常工作。 现在我可以通过3G访问所有应用程序。