现在MsgType不足以容纳我需求中新的消息类型, 我是在MsgType中继续放数据, 还是再搞一个服务呢? 工程实践中一般采用什么方案捏?
public final class GameServerHandler extends SimpleChannelInboundHandler<MsgType> {
    @Override
    protected void channelRead0(ChannelHandlerContext channelHandlerContext, MsgType s)
MsgType里继续耕耘!     1 
                    
                    araaaa      2021-03-23 19:56:01 +08:00 via iPhone 
                    
                    json 或者 pb 
                 | 
            
     2 
                    
                    iuh      2021-03-23 20:00:57 +08:00 
                    
                    用新的 handler 接受处理,加入流水线 
                 | 
            
     3 
                    
                    narutow   OP @iuh Handler 之间不应该是强相关的吗, 只有一个流水线, handler 都挂在流水线里, 消息处理存在顺序. A-> B -> C, C 只能接受 B 解完包的数据 
                 | 
            
     4 
                    
                    sagaxu      2021-03-23 20:14:41 +08:00 via Android    通信层和业务逻辑解藕,只做收发,消息类型只有一种,不同类型交给业务逻辑去做 
                 | 
            
     5 
                    
                    tookbra      2021-03-23 20:39:07 +08:00 
                    
                    再 handler 前加个 codec 解码、编码,对应的事件转发到对应的 codec 中处理 
                 | 
            
     6 
                    
                    jianglai      2021-03-23 21:10:14 +08:00 via iPhone 
                    
                    @narutow 如果一个 handler 不能处理某种 message type 就直接 pass 到 pipeline 里面的下一个去,不会被 swallow 的。 
                 | 
            
     7 
                    
                    securityCoding      2021-03-24 09:41:49 +08:00 via Android 
                    
                    参考一下 rocketmq 的 netty 代码,收发跟业务处理分离开来 
                 |