首先我们先来看serverchannel的类继承层次,然后再一个一个的研究。
现在我们来挨个的介绍各个类。
AbstractChannel应该是整个Channel子类的父类,这个里面有一个static的变量allChannels,这个里面放着所有的channel,现在还不能体会放这个得好处。里面感觉没有什么特殊的,allocateId这个方法应该是给channel分配一个id,System.identityHashCode这个方法就是根据对象的内存地址来生成hashCode的,putIfAbsent这个方法是CurrentHashMap的方法,就是如果没有就put,如果存在就返回,这个名字起的挺好的。
我们再来看它的局部变量:
private final Integer id; private final Channel parent; private final ChannelFactory factory; private final ChannelPipeline pipeline; private final ChannelFuture succeededFuture = new SucceededChannelFuture(this); private final ChannelCloseFuture closeFuture = new ChannelCloseFuture(); private volatile int interestOps = OP_READ; /** Cache for the string representation of this channel */ private boolean strValConnected; private String strVal;
这个里面没有什么特殊的,不过从局部变量来看,可以看到一个channel的整个职责,一个id,一个parent,和一个创建它的ChannelFactory,和这个Channel相对应的ChannelPipeline,和相应的success future和closefuther,后面的两个变量是这个channel的名称,相对来说这个类还是比较好理解的,以后还会对整个类层次的意图进行讲解的。
AbstractServerChannel应该是整个ServerChannel的抽象父类了,也感觉没什么,就不多讲解了。
LocalServerChannel是也是一个接口,是用来进行local 传输的,这个比较简单。
NioServerSocketChannel和OioServerSocketChannel这两个类应该是我们平时用的最多的类,这两个类封装了在nio和bio下面创建ServerSocket的不同,总之是比较简单的。
相关推荐
Netty基础,用于学习Netty,参考黑马程序员的netty教程
Java进阶技术-netty进阶之路
Netty进阶之路,跟着案例学Netty,李林峰大神新作。值得一读。
Netty进阶之路 跟着案例学Netty 整本书无密码,Netty进阶之路 跟着案例学Netty
《Netty进阶之路:跟着案例学Netty》中的案例涵盖了Netty的启动和停止、内存、并发多线程、性能、可靠性、安全等方面,囊括了Netty绝大多数常用的功能及容易让人犯错的地方。在案例的分析过程中,还穿插讲解了Netty...
Netty学习笔记_Springboot实现自定义协议.docx Netty学习笔记_Springboot实现自定义协议.docx Netty学习笔记_Springboot实现自定义协议.docx
《Netty进阶之路 跟着案例学Netty》_李林锋_2018-11-01
在本书中,作者将在过去几年实践中遇到的问题,以及Netty学习者咨询的相关问题,进行了归纳和总结,以问题案例做牵引,通过对案例进行剖析,讲解问题背后的原理,并结合Netty源码分析,让读者能够真正掌握Netty,在...
netty-3.1官网学习手册,中文版
学习netty源码,为后续rocketmq等学习打下基础
Netty全套学习资源(包括源码、笔记、学习文档等)
代码解压后可看到netty3和netty5实现的心跳处理案例,代码比较简单,适合初学者,欢迎大家交流学习,欢迎下载。。。。。
附件为韩顺平老师的netty教程学习资料。老师教学视频可以在B站去找。个人感觉很不错。如果有需要可以去看看。
Netty实践学习案例
Netty 框架学习 —— 第一个 Netty 应用(csdn)————程序
netty 学习之路 项目笔记 项目说明 1、所谓BIO编程,就是使用JDK1.4之前的api进行编程,在这里我们以ServerSocket和Socket为例进行讲解, 编写一个时间服务的C/S架构应用。 2、client可以发送请求指令"GET CURRENT ...
netty学习文件,实现http,websocket,protobuf方式,实现服务器与客户端通信。
在《Netty进阶之路:跟着案例学Netty》中,作者将在过去几年实践中遇到的问题,以及Netty学习者咨询的相关问题,进行了归纳和总结,以问题案例做牵引,通过对案例进行剖析,讲解问题背后的原理,并结合Netty源码分析...