尝试使用Connector.open()打开TLS连接时在BlackBerry上抛出EOFException

时间:2012-02-15 15:50:36

标签: blackberry connection ssl eofexception

当我尝试使用

通过Wi-Fi打开TLS连接时,有时会收到EOFException
Connector.open("tls://sub.domain.com:443;deviceside=true;interface=wifi;EndToEndRequired");

Connector.open()的调用正在阻止。调用Connector.open()后大约10秒抛出EOFException。目前,我无法检查服务器端发生的情况。

修改
对Connector.open()的调用是由一个不是主事件线程的线程构成的。问题出现在运行OS 6的各种设备上,但我认为问题不是特定于操作系统。

有关如何解决此问题或导致错误的原因的任何想法?

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

1 个答案:

答案 0 :(得分:0)

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

  1. 服务器收到客户端Hello 消息
  2. 服务器以服务器Hello 消息
  3. 响应
  4. 客户端密钥交换未在10秒内从客户端收到
  5. 服务器已关闭与客户端的连接
  6. 由于我认为没有办法影响Connector.open()流程,我唯一能做的就是在catch EOFException TLSAlertException之后重试(我从未看到它连续发生过两次) }或{{1}}(以及可能的其他TLS相关例外)。