netty
を使用してHTTP/2クライアントを実装しようとしています。このexample(93行目)では、手動でstreamId
をインクリメントしてマップに配置します。応答が来るとき、彼らはHttpConversionUtil.ExtensionHeaderNames.STREAM_ID
ヘッダーパラメータを探し、したがって応答と要求を関連づけます。HTTP/2クライアント - 要求への応答を関連付ける - ストリームIDに頼ることができますか?
自分でstreamId
を増やす考えが嫌いです。どういうわけかIDネチェットを利用してwriteAndFlush
にリクエストしてもらえますか?
また、新しいストリームを作成するのに多くのリソースが必要ですか?それとも単なる識別子ですか?
私はstreamIdに頼らず、リクエストから特別なヘッダー(たとえば "X-id")を読んで、それを応答に入れるようにserveride-developersに依頼しました。 – awfun
私はそれはあまり重要ではないが、あまり良くないと思う。主な欠点は、現在すべてのAPIクライアントは、 'X-Id'をリクエストして応答から取得する必要があることに留意する必要があることです。しかし、これはHTTP/1.1でも機能するので、並行性の高いAPIにとってはおそらく大丈夫です。 – berserkk
これは具体的なプロジェクトのアドホックな解決策ですが、より良い実装方法は見つけられませんでした – awfun