Ios 我的应用有时无法连接到服务器

Ios 我的应用有时无法连接到服务器,ios,google-app-engine,http,afnetworking,Ios,Google App Engine,Http,Afnetworking,几个月来,我一直在无助地观察这个问题,并决定这是我最好的办法 我不确定问题的原因是什么,但我可以列出我正在做的一些事情。我有一个iOS应用程序,它使用AFNetworking通过HTTP POST请求连接到由Google app Engine托管的远程服务器 现在,一切都很好,但有时,非常偶然和随机地,我收到失败的请求。活动指示器旋转了大约一分钟,最后我没有得到任何反馈——只是一个失败的请求。我检查了我的服务器日志,没有发现任何错误。请求失败后,我再试一次,效果很好。它一整天都很好用。然后再过一

几个月来,我一直在无助地观察这个问题,并决定这是我最好的办法

我不确定问题的原因是什么,但我可以列出我正在做的一些事情。我有一个iOS应用程序,它使用AFNetworking通过HTTP POST请求连接到由Google app Engine托管的远程服务器

现在,一切都很好,但有时,非常偶然和随机地,我收到失败的请求。活动指示器旋转了大约一分钟,最后我没有得到任何反馈——只是一个失败的请求。我检查了我的服务器日志,没有发现任何错误。请求失败后,我再试一次,效果很好。它一整天都很好用。然后再过一次,问题会随机重复,有时会旋转10秒,甚至一分钟

一般来说,这可能是什么原因?随机出现一些失败的连接是正常的吗?这是我的事吗

但奇怪的是,当我在iPhone上运行应用程序时,指示灯旋转,它试图连接,我尝试在iOS模拟器上连接,连接工作正常。我在iPhone上再试了一次,但它不起作用

如果我完全关闭应用程序并重新启动,那么它会再次工作。所以听起来可能是软件问题,而不是连接问题,但我没有证据或数据


我知道这很模糊,但我希望有人也有类似的问题。一切都有帮助。

Java版GAE上的实例启动存在一个已知问题。你可以成为明星

Python也出现了同样的问题,但这不是什么大问题

我认为您应该检查appengine上使用的日志记录级别,并监视所有呼叫。实例启动通常需要更多的时间,所以您将能够看到启动时使用了多少时间,这是否真的是一个超时问题

对于Java版本,您可以尝试将日志级别更改为调试:

.level = DEBUG

在logging.properties文件中。它将为您提供有关实例启动过程的更多信息。

您的应用程序引擎日志中没有关于此的信息吗?第一个请求超时时是否重试?你为你的应用程序引擎应用程序付费吗?延迟怎么办?@voscausa不,我的应用程序引擎日志中没有任何相关内容。当我在第一次超时后重试时,它通常会再次工作。我仍处于开发阶段,所以它仍然是GAE的免费版本,延迟也没什么不寻常的。我们在ajax调用方面也遇到了同样的问题,我们认为这是一个与延迟/实例预热相关的问题。我们通过超时和请求重试解决了这个问题。@voscausa ya我想这也可能是一个预热问题,但是当请求在一台设备上失败时,如果我在另一台设备上尝试,它会正常工作。如果我在原始设备上再试一次,在我重新启动应用程序之前,它不会工作。我认为这可能是我这边的热身问题和软件问题的混合,可能与第一次请求失败后AFNetworking的混乱有关。但总有猜测,我真的不知道从哪里开始。问题是,我如何知道这是GAE问题还是我在客户端使用的网络框架问题?通常,第一个请求失败,所有后续请求成功。然而,昨天请求不断失败,一个接一个,但只在一台设备上。在另一台设备上,请求成功。所以我认为这是GAE问题和AFNetworking问题的结合,但我不确定在哪里调试AFNetworking..也许你应该添加一些设备ID作为URL请求参数。这将帮助您区分请求。若您将在AppEngine上找到您的请求,那个么您可以开始在服务器端查找问题。