Server 为什么netty http2服务器总是对streamId使用奇数
我正在使用Netty设置一个简单的http/2服务器。我使用这个示例作为http/2服务器 为了测试这个服务器,我使用了netty示例 我向服务器发送请求的客户端代码:Server 为什么netty http2服务器总是对streamId使用奇数,server,netty,http2,Server,Netty,Http2,我正在使用Netty设置一个简单的http/2服务器。我使用这个示例作为http/2服务器 为了测试这个服务器,我使用了netty示例 我向服务器发送请求的客户端代码: 完整代码: 上述代码在流id为3、5等情况下运行良好。 但当我将流id更改为任何其他数字(如4、6、8等)时,上述代码不起作用。我仍然从服务器获取流id 3、5、7等的消息。我无法在服务器中找到这些流id的逻辑 HttpResponseHandler responseHandler = initializer.respo
完整代码: 上述代码在流id为3、5等情况下运行良好。
但当我将流id更改为任何其他数字(如4、6、8等)时,上述代码不起作用。我仍然从服务器获取流id 3、5、7等的消息。我无法在服务器中找到这些流id的逻辑
HttpResponseHandler responseHandler = initializer.responseHandler();
int streamId = 3;
HttpScheme scheme = SSL ? HttpScheme.HTTPS : HttpScheme.HTTP;
AsciiString hostName = new AsciiString(HOST + ':' + PORT);
System.out.println("Sending request(s)...");
if (URL != null) {
System.out.println("with url");
// Create a simple GET request.
FullHttpRequest request = new DefaultFullHttpRequest(HTTP_1_1, GET, URL);
request.headers().add(HttpHeaderNames.HOST, hostName);
request.headers().add(HttpConversionUtil.ExtensionHeaderNames.SCHEME.text(), scheme.name());
request.headers().add(HttpHeaderNames.ACCEPT_ENCODING, HttpHeaderValues.GZIP);
request.headers().add(HttpHeaderNames.ACCEPT_ENCODING, HttpHeaderValues.DEFLATE);
responseHandler.put(streamId, channel.writeAndFlush(request), channel.newPromise());
streamId += 2;
}