1

用几款安卓手机试过,手机上的浏览器在一段时间(可能几分钟)内打不开我们的网站,但iPhone或PC的浏览器可以在这段时间内打开我们的网站。

只有当我在公司使用 Wifi 时才会出现此问题,在家里从来没有遇到过问题。

当安卓手机的浏览器无法打开我们的网站时,通过 adb shell ping 我们的服务器是没有问题的。

为了找到问题,我使用HttpUrlConnection访问我们的服务器,看到浏览器无法打开我们的网站时,HttpURLConnection.connect()方法会因为TimeoutException而失败。

我觉得这个问题很奇怪,为什么Iphone或PC不会出现这个问题?我不想认为安卓手机比那些设备差。

请帮我解决这个问题,任何建议将不胜感激。

更多信息:

我用wireshark抓包,发现在安卓手机浏览器打不开网站期间,浏览器的tcp握手没有tcp响应。有什么可能的原因吗?

4

1 回答 1

0

我们很久以前就解决了这个问题。这是一个服务器问题,我们通过更改我们的 linux 服务器的以下两个内核参数来解决它:net.ipv4.tcp_tw_recycle 和 net.ipv4.tcp_timestamps。

这里可以找到两个参数的说明:http ://www.speedguide.net/articles/linux-tweaking-121

于 2014-09-25T08:25:47.030 回答