摘要: 读写Channel(READ)的创建和注册 在NioEventLoop#run中提到,当有IO事件时,会调用processSelectedKeys方法来处理。 当客户端连接服务端,会触发服务端的ACCEPT事件,创建负责READ事件的channel并注册到workerGroup中 跟踪process 阅读全文
posted @ 2022-06-16 11:34 王谷雨 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 先看看EventLoop类图 我们在Netty第二篇文章中的代码中,看到有多次用到eventLoop.execute()方法,这个方法就是EventLoop开启线程执行任务的关键,跟踪进去看看 // 类SingleThreadEventExecutor SingleThreadEventExecut 阅读全文
posted @ 2022-06-16 11:29 王谷雨 阅读(92) 评论(0) 推荐(0) 编辑
摘要: 简单Echo案例 注释版代码地址:netty 代码是netty的源码,我添加了自己理解的中文注释。 了解了Netty的线程模型和组件之后,我们先看看如何写一个简单的Echo案例,后续的源码讲解都基于此案例。以下是服务端的代码: public final class MyEchoServer { st 阅读全文
posted @ 2022-06-16 11:17 王谷雨 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 前置条件 源码版本netty4.1 了解Java NIO、Reactor模型和Netty的基本使用。 解释一下: Java NIO:了解BIO和NIO的区别以及Java NIO基础API的使用 Reactor模型:Netty是基于Netty模型对Java NIO封装的框架 Netty的基本使用:先学 阅读全文
posted @ 2022-06-16 10:51 王谷雨 阅读(78) 评论(0) 推荐(0) 编辑