【问题标题】:How to use OkHttp to connect to SPDY website?如何使用 OkHttp 连接 SPDY 网站?
【发布时间】: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 网站的“正确”方式是什么?

【问题讨论】:

    标签: java okhttp 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。
    猜你喜欢
    • 2014-11-10
    • 1970-01-01
    • 2014-05-20
    • 2014-07-27
    • 2021-10-24
    • 2017-03-16
    • 2014-11-15
    • 1970-01-01
    • 2014-10-13
    相关资源
    最近更新 更多