首页 > 解决方案 > Titanium HTTPClient - TSL 连接有时会在 Android 上“丢失”(不在 iOS 上)

问题描述

这是一个非常非常奇怪的问题。我们有一个基于 Titanium SDK(我认为是 7.4.1 版)的应用程序,它通过 API 从我们的服务器获取数据。这些连接使用 TSL 运行,并且基本上可以正常工作。但是:有些连接不接收数据,它们只是遇到超时。我对此进行了一些调试,这导致了更奇怪的事情:工作连接工作得很好,但不工作的连接做奇怪的事情。App连接到服务器,服务器发送ACK。在此之后,应用程序发送一个 ClientHello 并接收一个 ACK​​ - 但没有任何后续。应用程序正在等待 ServerHello,直到连接超时。这一切都来自 tcpdump。所以我在服务器端创建了相同的转储,这里开始变得非常奇怪:对于非工作连接,初始握手就在那里。

这让我感到困惑,因为应用程序正在为已发送的 ClientHello 获取 ACK。当服务器从未收到任何消息时,谁 TF 发送了这个?它是一个更大集群中的虚拟机——也许它在到达虚拟机之前就被确认了?

因为我也提到了 Titanium:这个问题只发生在 Android 上。应用程序的 iOS 版本(具有相同代码)不受影响!

任何人的任何想法?高度赞赏所有输入。

标签: androidssltitanium

解决方案


推荐阅读