ChannelGroup发送处理程序级别?
我是来自中国的Simon,我们的项目基于Netty。 我们在ChannelPipeline中有3个处理程序,用于将对象消息发送给客户端。
1个BusinessHandler-2个ActionEncoder-3个FrameEncoder
1个用于处理业务逻辑(例如保存到数据库)的BusinessHandler。
2个ActionEncoder,用于将编码器对象转换为ByteBuf。
3个用于帧头和脚的FrameEncoder。
全部。
当我们向所有客户端发送带有ChannelGroup的对象消息时 Netty需要为每个处理程序(1-2-3)处理每个客户通道,就像:
for(channel:Channels){
for(handler:Handlers){
data;
}
send;
}
我认为这个过程很缓慢,希望ChannelGroup这样发送: 首先处理所有处理程序,将对象消息发送到ByteBuf, 接下来发送给所有具有ChannelGroup的客户端。
for(handler:Handlers){
data;
}
for(channel:Channels){
send;
}
请告诉我知道怎么做?