欢迎大家注意github.com/hsfxuebao。我希望这对每个人都会有所帮助。如果您认为有可能
run()nioeventloop类的代码,无限循环,在服务器端运行
阐明:
阐明:
构造方法
跟踪源代码抽象的构造方法MultineReadeveentExecutorGroup是NioEventloopGroup的真实构造函数。在这里,它可以使用具有设计模式的模板模式将其视为模板方法。
阐明:
ServerBootstrap是一个空的结构,但是有默认成员变量
ServerBootstrap基本用法:
阐明:
服务器是在此绑定方法中启动的
绑定方法代码,跟踪以创建端口对象,并做出一些空的判断,
DIBIND源代码分析,
阐明:
,现在输入addlast方法查看
阐明:
以前的Dobind方法有两个重要的步骤,以及initandregister饰面。接下来,请参见DOBIND0方法,代码如下
阐明:
继续跟踪AbstractChanel Public Final Final void Bind(Final SocketAdddress localAddress,Final ChannelPromise Promise){// ...尝试{//!这里的最终方法是DOBIND方法。执行通道Firechannelactive的方法,告诉所有已成功绑定的处理程序。ChanneActive()方法pipeline.firechannelactive();});} //////////// safesetsuccess(promise)Essenceit可以执行侦听器method.safesetsuccess(promise);}
返回绑定方法
最后一步:SafeSetsuccess(Promise),成功地告诉Promise Task。它可以执行侦听器方法。
继续,服务器将返回循环代码(Nioeventloop类)以监视
Netty学习和源代码分析GitHub地址
从进入到熟练视频教程(B)的Netty
Netty权威指南第二版
原始:https://juejin.cn/post/7101667777873127432