![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Netty
文章平均质量分 89
warybee
有的鱼是永远关不住的,因为它们属于天空
展开
-
Netty系列(5)Netty中解决TCP粘包和拆包
文章目录1 TCP 粘包和拆包介绍2 Netty 粘包演示3 Netty中解决TCP粘包和拆包1 TCP 粘包和拆包介绍TCP 是面向连接的,面向流的,提供高可靠性服务。收发两端(客户端和服务器端)都要有一一成对的 socket,因此,发送端为了将多个发给接收端的包,更有效的发给对方,使用了优化方法(Nagle 算法),将多次间隔较小且数据量小的数据,合并成一个大的数据块,然后进行封包。这样做虽然提高了效率,但是接收端就难于分辨出完整的数据包了,因为面向流的通信是无消息保护边界的由于 TCP原创 2021-10-27 16:27:22 · 141 阅读 · 0 评论 -
Netty系列(4)Netty心跳检测机制
Netty心跳检测机制1 心跳检测使用场景长连接的应用场景非常的广泛,比如监控系统,IM系统,即时报价系统,推送服务等等。像这些场景都是比较注重实时性,如果每次发送数据都要进行一次DNS解析,建立连接的过程肯定是极其影响体验。而长连接的维护必然需要一套机制来控制。比如 HTTP/1.0 通过在 header 头中添加 Connection:Keep-Alive参数,如果当前请求需要保活则添加该参数作为标识,否则服务端就不会保持该连接的状态,发送完数据之后就关闭连接。HTTP/1.1以后 Keep-Al原创 2021-10-26 16:41:05 · 1024 阅读 · 0 评论 -
Netty系列(3)Netty核心模块、Future-Listener
这里写目录标题1 Netty核心API1.1 ChannelHandler1.2 ChannelPipeline1.3 ChannelHandlerContext1.4 ChannelOption1.5 ChannelFuture1.6 EventLoopGroup和实现类NioEventLoopGroup1.7 ServerBootstrap和Bootstrap1.8 Unpooled类2 Netty异步模型2.1 Future2.2 Future-Listener 机制1 Netty核心API1.原创 2021-10-20 21:23:33 · 208 阅读 · 0 评论 -
Netty系列(2)快速入门Netty线程模型、Netty入门程序、Netty任务队列
1 Netty线程模型不同的线程模式,对程序的性能有很大影响,在学习Netty线程模式之前,首先需要了解下 各个线程模 式, 最后看看 Netty 线程模型有什么优越性。目前存在的线程模型有:传统阻塞 I/O 服务模型Reactor 模式Reactor 单线程;单 Reactor多线程;主从 Reactor多线程1.1 传统阻塞 I/O 服务模型模型特点采用阻塞 IO 模式获取输入的数据每个连接都需要独立的线程完成数据的输入,业务处理,数据返回存在问题当并发数很大原创 2021-10-20 19:35:27 · 264 阅读 · 0 评论 -
Netty系列(1)Java NIO快速入门,一看就懂
文章目录1. NIO介绍1.1 NIO 三大核心原理示意图2.缓冲区(Buffer)2.1 Buffer常用API介绍2.1.1 缓冲区对象创建2.1.2 缓冲区对象添加数据2.1.3 缓冲区对象读取数据3 Channel3.1 Channel常用实现类3.2 FileChannel3.2.1 FileChannel本地文件写数据3.2.2 FileChannel读取本地文件3.2.3 使用FileChannel进行文件copy3.2.4 使用transferFrom方法完成copy3.2.5 直接在内存中原创 2021-10-19 16:23:12 · 209 阅读 · 0 评论