netty
文章平均质量分 89
嗝屁小孩纸
一路走来的艰辛,感谢平台和平台各位长辈的提携!
展开
-
手写一个NIO群聊系统
一、浅谈NIO1. 什么是NIO?Java NIO:同步非阻塞,服务器实现模式为一个线程处理多个请求(连接),即客户端发送的连接请求都会注册到多路复用器上,多路复用器轮询到连接有 I/O 请求就进行处理。【简单示意图】手写的服务端,是利用多路复用的技术处理多个客户端的,类似于redis的单线程多路复用处理,有什么好处?比传统的BIO(Blocking I/O)处理速度更快,传统的BIO处理一个客户端,服务端得启动一个线程去处理,这个线程没法关心处理其他客户端,是1对1模式。&nbs原创 2022-02-07 21:57:24 · 1066 阅读 · 0 评论 -
Netty之非阻塞处理
Netty 是一个异步的、基于事件驱动的网络应用框架,用以快速开发高性能、高可靠性的网络 IO 程序。一、异步模型同步I/O : 需要进程去真正的去操作I/O;异步I/O:内核在I/O操作完成后再通知应用进程操作结果。怎么去理解同步和异步?同步:比如服务端发送数据给客户端,客户端中的处理器(继承一个入站处理器即可),可以去重写 channelRead0 方法,那么该方法触发的时候,其实必须得服务器有消息发过来,客户端才能去读写,两者必须是有先后顺序,这就是所谓的同步。异步:客户端在服务端发送数原创 2022-03-31 13:40:39 · 1002 阅读 · 3 评论 -
Netty之DefaultAttributeMap与AttributeKey的机制和原理
一、介绍和原理分析1.什么是 DefaultAttributeMap?DefaultAttributeMap 是一个 数组 + 链表 结构的线程安全Map。2.什么是 AttributeKey?AttributeKey可以想象成一个缓存set,存放了一组key的集合,与DefaultAttributeMap之间的关系是,后者中的哈希图存放键值对(k-v)的v即是AttributeKey。有了AttributeKey,你自然会想到Attribute,两者之间又有什么关系呢?下面会讲,慢慢理解,跟着我原创 2022-03-25 01:15:22 · 1765 阅读 · 0 评论