Okhttp默认为h2协议。
目的是要以某种方式检测到域是否位于h2上并且okhttp默认为h2,开发人员如何才能获得所有呼叫都被多路复用并通过单个TCP连接进行确认的确认?
我尝试按照Jesse Wilson的建议使用CustomEventListener
不过,我仍然无法获得100%的确认。尝试获取连接信息
```@Override
public void connectionAcquired(Call call, Connection connection) {
logWithTime("connectionAcquired: " + connection);
}
```
连接对象提供{cipherSuit和协议组成的Route
地址,端口,代理,socketAddress。虽然协议是连接对象所示的h2,但我想知道连接实际上是多路复用的,并且通过单个连接进行。没有有关连接ID或任何可以确认相同信息的信息。请建议。
样本日志:
[7毫秒]已获得连接:连接{{http://api.hotstar.com:443,代理=直接主机地址= http://api.hotstar.com/106.51.146.149:443…cipherSuite = TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384协议= h2}
答案 0 :(得分:1)
尝试打印连接标识哈希码。如果连接不同,它们将具有不同的值。
public void connectionAcquired(Call call, Connection connection) {
logWithTime("connectionAcquired: " + System.identityHashCode(connection));
}