Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
尝试使用Connector.open()打开TLS连接时在BlackBerry上引发EOFEException_Blackberry_Connection_Ssl_Eofexception - Fatal编程技术网

尝试使用Connector.open()打开TLS连接时在BlackBerry上引发EOFEException

尝试使用Connector.open()打开TLS连接时在BlackBerry上引发EOFEException,blackberry,connection,ssl,eofexception,Blackberry,Connection,Ssl,Eofexception,有时,当我试图通过Wi-Fi与用户建立TLS连接时,会出现EOFEException Connector.open("tls://sub.domain.com:443;deviceside=true;interface=wifi;EndToEndRequired"); 对Connector.open的调用被阻止。EOFEException在调用Connector.open大约10秒后抛出。目前,我无法检查服务器端发生了什么 编辑: 调用Connector.open的线程不是主事件线程。这个问题

有时,当我试图通过Wi-Fi与用户建立TLS连接时,会出现EOFEException

Connector.open("tls://sub.domain.com:443;deviceside=true;interface=wifi;EndToEndRequired");
对Connector.open的调用被阻止。EOFEException在调用Connector.open大约10秒后抛出。目前,我无法检查服务器端发生了什么

编辑: 调用Connector.open的线程不是主事件线程。这个问题出现在运行OS 6的各种设备上,尽管我不认为这个问题是特定于OS的

关于如何解决这个问题,或者是什么导致了这个错误,有什么想法吗

更新:
在某些情况下,对Connector.open的调用也会产生一个封装在TLSIOException中的TLSAlertException。异常不会立即抛出,而是在大约10秒后抛出,如前面提到的EOFEException。

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

服务器收到了客户机Hello消息 服务器响应了服务器Hello消息 大约10秒钟内未从客户端接收到客户端密钥交换 服务器关闭了与客户端的连接
由于我看不到影响Connector.open流的方法,所以我唯一能做的就是重试。在捕获EOFEException或TLSAlertException以及其他可能与TLS相关的异常后,我从未看到它连续发生两次

两个问题:1您确定Connector.open正在引发异常吗?2是否在操作系统事件线程之外的单独线程上调用Connector.open?是,异常由Connector.open和Yes引发,它是从不同的线程而不是主事件线程调用的。除非异常消息中有诊断信息(不幸的是不太可能)或堆栈跟踪,否则我会怀疑服务器抛出了BlackBerry没有预料到的东西。可以设置一个您可以检查的服务器,或者如果在代码的其余部分中有意义,可以尝试使用已知良好服务器的站点。我使用这种连接与安全的Web服务器通信,但通常使用https协议。@Richard遗憾的是,对于异常消息,没有诊断null。我同意你的看法,服务器可能抛出了一些东西,可能在TLS握手过程中出了问题。在黑莓方面,这与它没有多大关系。谢谢你的回答。