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