netty版本大致版本分为 netty3.x 和 netty4.x、netty5.x
netty可以运用在那些领域?
1分布式进程通信
例如: hadoop、dubbo、akka等具有分布式功能的框架,底层RPC通信都是基于netty实现的,这些框架使用的版本通常都还在用netty3.x
2、游戏服务器开发
最新的游戏服务器有部分公司可能已经开始采用netty4.x 或 netty5.x
简单实现:
- BUFFER【字节】====== String【字符】======【处理】
- 过滤控制:发现频发创建连接,黑白名单控制等
- 下线:Disconnect 清理内存
- channelDisconnected只有在连接建立后断开才会调用
- channelClosed无论连接是否成功都会调用关闭资源
1.服务端创建
public class Server {
public static void main(String[] args) {
//服务类
ServerBootstrap bootstrap = new ServerBootstrap();
//boss线程监听端口,worker线程负责数据读写
ExecutorService boss = Executors.newCachedThreadPool();
ExecutorService worker = Executors.newCachedThreadPool();
//设置niosocket工厂
bootstrap.setFactory(new NioServerSock