如何通过okhttp验证Http/2?

How to verify Http/2 via okhttp?

如果域支持,Okhttp 默认使用 h2 协议。 目的是以某种方式检测如果域在 h2 上并且 okhttp 默认为 h2,开发人员如何确认所有调用都被多路复用并在单个 TCP 连接上进行? 我尝试按照 Jesse Wilson 的建议使用 CustomEventListener 不过,我无法获得 100% 的确认。试图获取连接信息

```@Override
public void connectionAcquired(Call call, Connection connection) {
    logWithTime("connectionAcquired: " + connection);
}
```

连接对象给出 Route 地址、端口、代理、socketAddress 以及 cipherSuit 和协议。虽然协议是 h2,如连接对象所示,但我想知道连接实际上是多路复用的,并且通过单个连接。没有关于连接 ID 或任何确认相同信息的信息。请建议。 示例日志: [7 毫秒] 已获取连接:连接{http://api.hotstar.com:443 , proxy=DIRECT hostAddress=http://api.hotstar.com/106.51.146.149:443 ... cipherSuite=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 协议=h2}

尝试打印连接身份哈希码。如果连接不同,它们将具有不同的值。

public void connectionAcquired(Call call, Connection connection) {
  logWithTime("connectionAcquired: " + System.identityHashCode(connection));
}