上一篇文章中我讲述了关于消息推送的方案以及一个基于Netty实现的一个简单的Hello World,为了更好的理解Hello World中的代码,今天我来讲解一下关于Netty中一些概念和工作原理的内容,如果你觉得本篇文章有些枯燥,请先去阅读《Android 基于Netty的消息推送方案之Hello World(一)》

ChannelEvent

Netty是基于事件驱动的,就是我们上文提到的,发生什么事,就通知"有关部门"。所以,不难理解,我们自己的业务代码中,一定有跟这些事件相关的处理。在样例代码,我们处理的事件,就是channelConnected。以后,我们还会处理更多的事件。

ChannelPipeline

管道,传输途径。它控制ChannelEvent事件分发和传递的。事件在管道中流转,就是用这个ChannelPipeline处理的。比如:开发事件。先给A设计,然后给B开发。一个流转图,希望能给你更直观的感觉。 管道流转图:

ChannelHandler

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

Channel

channel,能够告诉你当前通道的状态,是连同还是关闭。获取通道相关的配置信息。得到Pipeline等。是一些全局的信息。Channel自然是由ChannelFactory产生的。Channel的实现类型,决定了你这个通道是同步的还是异步的(nio)。例如,我们样例里用的是NioServerSocketChannel。 如果你有兴趣,请继续了解Netty 《Android 基于Netty的消息推送方案之字符串的接收和发送(三)》

更多相关文章

  1. 没有一行代码,「2020 新冠肺炎记忆」这个项目却登上了 GitHub 中
  2. Android中XML解析-PULL解析
  3. Android(安卓)操作系统获取Root权限 原理详细解析
  4. Android(安卓)JNI 调用
  5. 关于Android混淆的开源框架Mess的学习与分析
  6. [Android] AOSP 开发并刷入Pixel
  7. 从Java类加载初始化到Android热修复
  8. 5个顶级的Android开发库
  9. 随手记----Android仿iOS音量调节的效果

随机推荐

  1. Android--一段兼容居中和满屏满屏的布局
  2. ant build.xml yguard混淆JAVA
  3. android——单点触控移动,多点触控放大缩
  4. Android(安卓)SQLite数据库操作代码类分
  5. 完整版MVP框架
  6. android 编写自己的异常捕获类
  7. 挨踢人的脚步(2015.11.04)
  8. Android(安卓)时间日期选择器
  9. Android(安卓)-- 编辑框更改样式
  10. android 一个activity跳转另一个activity