我对 http2 有以下要求。 1)在启动客户端http连接时,我应该能够设置http2服务器支持的Max_concurrent_streams,并相应地处理失败情况。
2) 获取流的流ID并分配优先级。
我检查了 okhttp 客户端和 Java11 http 客户端。但找不到任何方法来实现相同的目标。
请告诉我有什么办法可以实现这些。
最佳答案
如果需要处理 HTTP/2 协议(protocol)的底层细节,可以使用 Jetty的 HTTP2Client
。
请注意,它可以支持的最大并发流数是由服务器决定的,客户端无法修改该值。
客户端可以向服务器发送其支持的最大并发流数,但该数字指的是服务器可以发送到客户端的推送流。
使用HTTP2Client
API,您可以轻松访问流id
,并且能够向服务器发送PRIORITY
帧进行分配(并修改)请求的优先级。
This是如何使用 HTTP2Client
的简单示例。
您可以在 this directory 中找到更多示例.
关于okhttp - 如何获取 http2 客户端(如 okhttp 或 java 11 httpclient)中的 Max_concurrent_streams 数量和流 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59044142/