1
我正在使用Netty来设置一个简单的http/2服务器。我使用this作为http/2服务器的例子。为什么netty http2服务器总是使用奇数的streamId
要测试此服务器,我使用netty示例client。在那里,我将请求发送到服务器
我的客户端代码:
完整代码:http://netty.io/5.0/xref/io/netty/example/http2/client/package-summary.html
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;
}
上面的代码工作正常流ID 3,5等。
但是,当我更改流ID为任何其他数字如4,6,8等,上述代码不起作用。从服务器我仍然得到流的id 3,5,7等消息我无法找到这些流id的内部逻辑example server
哇..真的有帮助。谢谢。 – shantanu