如何在 okhttp 或 java 11 httpclient 等 http2 客户端中获取 Max_concurrent_streams 的数量和流 ID

How to get number of Max_concurrent_streams and stream id in http2 clients like okhttp or java 11 httpclient

我对 http2 有以下要求。 1)在启动客户端http连接时,我应该能够设置http2服务器支持的Max_concurrent_streams,并相应地处理失败情况。

2) 获取流的流ID并分配优先级。

我检查了 okhttp 客户端和 Java11 http 客户端。但是找不到任何方法来实现相同的目标。

请告诉我有什么方法可以实现这些。

如果需要处理HTTP/2协议的底层细节,可以使用JettyHTTP2Client.

请注意,它可以支持的最大并发流数是由服务器决定的,客户端无法修改该值。

客户端可以向服务器发送它支持的最大并发流数,但该数量是指服务器可以向客户端发送的推送 流。

使用 HTTP2Client API,您将可以轻松访问流 id 并将能够发送到服务器 PRIORITY 帧以分配(和修改)请求的优先级.

This 是如何使用 HTTP2Client.

的简单示例

您可以在 this directory 中找到更多示例。