- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
在我的 Android 代码中(使用 Apache HTTP 客户端)我已经设置了以下参数:
HttpConnectionParams.setConnectionTimeout(params, 30 * SECOND_IN_MILLIS);
HttpConnectionParams.setSoTimeout(params, 30 * SECOND_IN_MILLIS);
我正在连接到 HTTPS 网络服务。在慢速网络上,我在预期的 30 秒后收到了 ConnectionTimeoutException
(然后我重试);但是有“少数”情况(我无法观察到任何模式),我得到以下任何一个:
javax.net.ssl.SSLException: Read error: ssl=0xe71160: I/O error during system call, Connection timed out javax.net.ssl.SSLException: Write error: ssl=0xe71160: I/O error during system call, Broken pipe
我从 SO 那里得到这段代码,它仍在测试中:
registry.register(new Scheme("https",
SSLCertificateSocketFactory.getHttpSocketFactory(30 * SECOND_IN_MILLIS, null), 443));
我能理解连接建立超时和套接字超时——我的问题是我们真的需要 SSL 的第三个超时吗?目的与 SO_TIMEOUT 有何不同?
PS:这些异常似乎是在读/写数据时出现的——这应该会导致数据丢失——但我也无法观察到。
最佳答案
不同之处在于 ConnectionTimeoutException
在根本无法建立连接时发生。这意味着服务器根本无法访问。
SSLException
当连接已经建立但在 SSL 握手期间连接超时时发生。因为超时发生在 SSL 握手开始之后,SSLException
被作为更高级别的异常抛出。
您可以尝试检查是否输入了 ConnectionTimeoutException
作为 SSLException
的原因。
关于java - 消息为 "Connection timed out"的 ConnectionTimeoutException 和 SSLException 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13176648/
我是Docker和Mongodb的新手。 我的docker-compose.yml文件中有以下内容。 version: '3.3' services: web: build:
我正在使用Zend Framework 2和MongoDB v3.2.11。 当我启动我的ZF应用程序时,出现以下错误: Fatal error: Uncaught MongoDB\Driver\Ex
在我的 Android 代码中(使用 Apache HTTP 客户端)我已经设置了以下参数: HttpConnectionParams.setConnectionTimeout(params, 30
我被这个奇怪的问题困住了。 1)); $result = $manager->executeCommand("test", $command); var_dump($result, $result-
我是一名优秀的程序员,十分优秀!