如何使用 OkHttp 连接 SPDY 网站?
Posted
技术标签:
【中文标题】如何使用 OkHttp 连接 SPDY 网站?【英文标题】:How to use OkHttp to connect to SPDY website? 【发布时间】:2014-08-19 19:15:59 【问题描述】:我无法让 OkHttp 使用 SPDY 连接到 https://www.google.com。我使用最简单的代码示例向站点发送 GET 请求,并在 OkHttp 源代码中添加了一堆日志,以实现代码一直在创建 HttpConnection,而不是单个 SPDYConnection。此外,ConnectionPool 一直是空的。我确信我错过了一些东西,因为我无法获得任何最大的好处:连接池和 SPDY 在 OkHttp 中工作。
我的客户代码:
for (int i = 0; i < 100; i++)
Request request = new Request.Builder().url("https://www.google.com").build();
Response response = client.newCall(request).execute();
为什么:
没有创建 SPDY 连接? ConnectionPool 总是空的,没有连接被回收?连接到 SPDY 网站的“正确”方式是什么?
【问题讨论】:
【参考方案1】:添加
-Xbootclasspath/p:/home/lee/.m2/repository/org/mortbay/jetty/npn/npn-boot/1.1.7.v20140316/npn-boot-1.1.7.v20140316.jar
to JVM args 为我修复了它。现在我可以看到 SPDY 连接已建立。
【讨论】:
仍然不知道如何在 android 上开启此功能。在 Android 上使用 OkHttp 的 SPDY 对我不起作用。 您使用的是哪个 Android 版本? OkHttp 需要 Android 4.1+ 才能在 Android 上使用 NPN。以上是关于如何使用 OkHttp 连接 SPDY 网站?的主要内容,如果未能解决你的问题,请参考以下文章