问题是您在所有频道之间共享一个HttpClientCodec。引导程序中指定的默认管道将为所有通道克隆,因此每个通道将看到每个处理程序的相同实例。http编解码器是有状态的,因此您会看到不同响应混合在一起的效果。
最简单的解决方案是将ChannelPipelineFactory传递给引导程序。将为每个新通道调用此方法,并且您可以使用HttpClientCodec的新实例创建管道。如果这是要起作用的,那么没有什么可以阻止您对创建的每个管道使用相同的TileClientHandler实例。
我很好奇。假设您正在同时发出每个请求,那么在HttpClientCodec的上游添加HttpChunkAggregator并让Netty将所有块聚合到一个HttpResponse中会不会更容易。然后,您只是从那里获取重新组合的内容?



