【发布时间】:2020-03-21 11:18:52
【问题描述】:
我对 http2 有以下要求。 1)在发起客户端http连接时,我应该能够设置http2服务器支持的Max_concurrent_streams,并相应地处理失败情况。
2) 获取流的流 ID 并分配优先级。
我检查了 okhttp 客户端和 Java11 http 客户端。但找不到任何方法来实现相同的目标。
请让我知道有什么方法可以实现这些。
【问题讨论】:
我对 http2 有以下要求。 1)在发起客户端http连接时,我应该能够设置http2服务器支持的Max_concurrent_streams,并相应地处理失败情况。
2) 获取流的流 ID 并分配优先级。
我检查了 okhttp 客户端和 Java11 http 客户端。但找不到任何方法来实现相同的目标。
请让我知道有什么方法可以实现这些。
【问题讨论】:
如果需要处理HTTP/2协议的底层细节,可以使用Jetty的HTTP2Client。
请注意,服务器决定它可以支持的最大并发流数,客户端不能修改该值。
客户端可以向服务器发送它支持的最大并发流数,但这个数字是指服务器可以发送给客户端的推送流。
使用HTTP2Client API,您可以轻松访问id 流,并能够向服务器发送PRIORITY 帧以分配(和修改)请求的优先级。
This 是如何使用HTTP2Client 的简单示例。
您可以在this directory 中找到更多示例。
【讨论】: