Netty 烦躁的通灵混乱

Netty 烦躁的通灵混乱,netty,Netty,我三个月前开始使用Netty。起初,它看起来非常简单,使用起来也很直接,因为我遵循了4.x系列主页中给出的示例 当我深入研究它时,我无法理解某些事件或回调名称。例如,我无法理解以下两者之间的区别: ChannelRead(ChannelHandleContext ctx, Object msg) { ... } channelRead0(ChannelHandlerContext ctx, String message) { ... } messageReceived(ChannelHand

我三个月前开始使用Netty。起初,它看起来非常简单,使用起来也很直接,因为我遵循了4.x系列主页中给出的示例

当我深入研究它时,我无法理解某些事件或回调名称。例如,我无法理解以下两者之间的区别:

ChannelRead(ChannelHandleContext ctx, Object msg) { ... }

channelRead0(ChannelHandlerContext ctx, String message) { ... }

messageReceived(ChannelHandlerContext, I) { ...}
看到netty主页示例总是使用channelRead,但internet中的一些示例提到channelRead0

另请阅读channelRead0被重命名为messageReceived。 如果我正在编写一个简单的服务器程序,我应该使用上面哪一个

更让我困惑的是,我还看到了JBOss中的Netty包,比如

org.jboss.netty.bootstrap.*;
除了

io.netty.bootstrap.ServerBootstrap;

新手开始和理解netty的合适方式是什么?

首先,在netty 3.X中,软件包来自
org.jboss.netty.
请参阅: 但从Netty 4.X开始,包装来自
io.Netty.*
请参阅:

现在,如果您使用Netty4.X来读取消息,请使用以下方法

ChannelRead(ChannelHandleContext ctx, Object msg) { ... }
继承自
ChannelInboundHandlerAdapter
类。方法:

messageReceived(ChannelHandlerContext, I) { ...}
在Netty 3.X版本中使用

编辑:添加@trustin(Netty开发者)评论

channelRead0
来自4.x版本的
SimpleChannelInboundHandler
,它将在Netty 5中重命名为
messageReceived


希望对您有所帮助。

您是否可以添加
channelRead0
来自4.x版本的
SimpleChannelInboundHandler
,并将在5中重命名为
messageReceived