netty 客户端连接操作的哪一部分应该共享?
What part of the netty client connect operations should be shared?
虽然 netty 站点有很好的文档记录并包含大量示例代码,但我还是不清楚。
在 http example 中(在 netty 4.0 分支上),创建单个请求和检索响应需要执行许多步骤。他们是:
- 必要时创建一个 SslContext(如果请求是 https)
- 创建事件循环组
- 创建 Bootstrap
- 调用bootstrap.group(eventLoopGroup).channel(通道class).handler(通道处理器)。
- 调用boostrap.connect().channel()获取频道
我不清楚此处哪些步骤可以共享,哪些必须根据请求创建。特别是如果我是 运行 一个将创建 http 和 https 请求混合的循环,我是否需要一个单独的 bootstrap 并且每种类型都有一个单独的处理程序(一个带有 ssl 上下文,另一个没有)?
您可以(并且应该)共享所有内容...您可以多次调用 bootstrap.connect()。
虽然 netty 站点有很好的文档记录并包含大量示例代码,但我还是不清楚。
在 http example 中(在 netty 4.0 分支上),创建单个请求和检索响应需要执行许多步骤。他们是:
- 必要时创建一个 SslContext(如果请求是 https)
- 创建事件循环组
- 创建 Bootstrap
- 调用bootstrap.group(eventLoopGroup).channel(通道class).handler(通道处理器)。
- 调用boostrap.connect().channel()获取频道
我不清楚此处哪些步骤可以共享,哪些必须根据请求创建。特别是如果我是 运行 一个将创建 http 和 https 请求混合的循环,我是否需要一个单独的 bootstrap 并且每种类型都有一个单独的处理程序(一个带有 ssl 上下文,另一个没有)?
您可以(并且应该)共享所有内容...您可以多次调用 bootstrap.connect()。