1

我目前正在使用 DefaultHttpClient 创建对 Rails 服务器的 HTTP 请求。

网络调用大约有 4% 的时间因 SocketTimeoutException 而失败。

我在我的网络流量上运行了 Wireshark 并发现了以下内容:

我成功的通话是这样开始的

在此处输入图像描述

就这样结束

在此处输入图像描述

失败的调用是这样开始的:

在此处输入图像描述

就这样结束

在此处输入图像描述

请注意,结束调用中缺少从服务器发送给我们的 HTTP OK 消息,导致它在大约 15 秒后超时。

我想知道是否有人以前遇到过这种情况,或者对调试 Android Apache 库或 Apache rails 有什么建议,以弄清楚为什么我们没有收到来自服务器的 HTTP OK 消息。

4

1 回答 1

0

我想通了。如果我的 post 请求中有错误的参数,rails 服务器和 apache 库会超时。我们传入了一个“_b”参数,并且由于某种未知的原因,服务器不喜欢这个并且会超时请求。删除 bad post 参数解决了这个问题。

如果其他人看到这样的超时,我建议查看传入的 POST 参数。

于 2013-01-31T20:18:18.517 回答