0

有时,EOFException当我尝试通过 Wi-Fi 打开 TLS 连接时,我会遇到

Connector.open("tls://sub.domain.com:443;deviceside=true;interface=wifi;EndToEndRequired");

调用Connector.open()被阻塞。在EOFException调用 Connector.open() 后大约 10 秒抛出 。目前,我无法检查服务器端发生了什么。

编辑:
对 Connector.open() 的调用是从不是主事件线程的线程进行的。该问题出现在运行 OS 6 的各种设备上,但我认为问题不是特定于操作系统的。

关于如何解决此问题或可能导致错误的任何想法?

更新
在某些情况下,对 Connector.open() 的调用也会产生一个TLSAlertExceptionWrapped inside TLSIOException。异常不会立即抛出,而是在前面提到的大约 10 秒后抛出EOFException

4

1 回答 1

0

最后,我能够在服务器端捕获 TLS 握手,并看到以下内容:

  1. 服务器收到客户端Hello消息
  2. 服务器以Server Hello消息响应
  3. 大约 10 秒未收到来自客户端的客户端密钥交换
  4. 服务器关闭与客户端的连接

由于我看不到任何影响Connector.open()流程的方法,我唯一能做的就是在catchingEOFExceptionTLSAlertException(可能还有其他与 TLS 相关的异常)之后重试(我从未见过它连续发生两次)。

于 2012-02-27T22:06:41.567 回答