Java NIO框架Netty教程(二) 白话概念[通俗易懂]

Java NIO框架Netty教程(二) 白话概念[通俗易懂]”HelloWorld”的代码固然简单,不过其中的几个重要概念(类)和Netty的工作原理还是需要简单明确一下,至少知道其是负责什。方便自己以后更灵活的使用和扩展。 声明,笔者一介码农,不会那么多专业的词汇和缩写,只能以最简单苍白的话来形容个人的感受和体会。如果您觉得这太不专业,笔者首先只能抱歉。然后,笔者曾转过《Netty代码分析》,您可参考。ChannelEvent

大家好,欢迎来到IT知识分享网。

  • “Hello World”的代码固然简单,不过其中的几个重要概念(类)和 Netty的工作原理还是需要简单明确一下,至少知道其是负责什。方便自己以后更灵活的使用和扩展。

     
    声明,笔者一介码农,不会那么多专业的词汇和缩写,只能以最简单苍白的话来形容个人的感受和体会。如果您觉得这太不专业,笔者首先只能抱歉。然后,笔者曾转过《Netty代码分析》,您可参考。
    ChannelEvent

    \
     

    先说这个ChannelEvent,因为Netty是基于事件驱动的,就是我们上文提到的,发生什么事,就通知”有关部门”。所以,不难理解,我们自己的业务代码中,一定有跟这些事件相关的处理。在样例代码(http://www.it165.net/pro/html/201207/3142.html),我们处理的事件,就是channelConnected。以后,我们还会处理更多的事件。
     
    ChannelPipeline
     

    \
     

    Pipeline,翻译成中文的意思是:管道,传输途径。也就是说,在这里他是控制ChannelEvent事件分发和传递的。事件在管道中流转,第一站到哪,第二站到哪,到哪是终点,就是用这个ChannelPipeline处理的。比如:开发事件。先给A设计,然后给B开发。一个流转图,希望能给你更直观的感觉。
     

    \
     

    ChannelHandler
    刚说Pipeline负责把事件分发到相应的站点,那个这个站点在Netty里,就是指ChannelHandler。事件到了ChannelHandler这里,就要被具体的进行处理了,我们的样例代码(http://www.it165.net/pro/html/201207/3142.html)里,实现的就是这样一个处理事件的“站点”,也就是说,你自己的业务逻辑一般都是从这里开始的。

    Channel

    \
     

    有了个部门的协调处理,我们还需要一个从整体把握形势的,所谓“大局观”的部门,channel。

    channel,能够告诉你当前通道的状态,是连同还是关闭。获取通道相关的配置信息。得到Pipeline等。是一些全局的信息。Channel自然是由ChannelFactory产生的。Channel的实现类型,决定了你这个通道是同步的还是异步的(nio)。例如,我们样例里用的是NioServerSocketChannel。

    这些基本的概念,你懂了吧。

    阅读Java NIO框架Netty教程(三) 字符串消息收发http://www.it165.net/pro/html/201207/3174.html

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/12290.html

(0)
上一篇 2023-03-01 20:00
下一篇 2023-03-02 17:00

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信