netty
文章平均质量分 84
莫失莫忘hh
保持学习,保持充实
展开
-
Pinple 和Handler 和 HandlerContext源码
Pinple 、Handler 、 HandlerContextChannelPipeline 、 ChannelHandler 、ChannelHandlerContext 这是netty中的核心组件,他们的关系如下:1、每当ServerSocket 创建一一个新的连接,就会创建一个Socket, 对应的就是目标客户端。2、每一个Socket都会分配一个Pipeline 也就是ChannelPipeline3、每个ChannelPipeline中有多个Context4、context之间会形成双原创 2021-05-23 17:44:27 · 482 阅读 · 0 评论 -
netty请求过程源码
natty 请求过程源码在之前的笔记中有记录netty的内部处理图:netty模型原理现在就在源码中找到这模型的基本实现:先介绍一下:EventLoop是一个死循环主要是循环处理3件事情:1、等待NIO事件发生 2、处理NIO事件 3、处理任务事件NioEventLoop代码如下: @Override // 部分代码节选.... protected void run() { int selectCnt = 0; // 这是一个死循环处理原创 2021-05-23 17:43:42 · 391 阅读 · 0 评论 -
netty编解码与Handler调用
一、编码与解码1、数据在网络中传输时是以二进制进行传输的,那么业务数据 转成 二进制数据这个过程叫做 编码(encoder),服务端接收数据后,将它转换为业务数据的过程叫做解码(decoder)。二、Handler调用链、入站出站在之前的文档中,介绍netty模型图中 有一个管道ChannelPipline,在这个管道中有一系列HandlerChannelHandler充当了入站和出站的应用处理容器;ChannelPipline 提供了ChannelHandler的容器。2.1 什么是入站、出站原创 2021-05-12 23:05:25 · 517 阅读 · 2 评论 -
netty入门学习demo及模型原理
一、Netty是什么Netty 是一个利用 Java 的高级网络的能力,隐藏其背后的复杂性而提供一个易于使用的 API 的客户端/服务器框架。本质:网络应用程序框架实现:异步、事件驱动特性:高性能、可维护、快熟开发用途:开发服务器和客户端。框架:dubbo1.1为什么不使用NIO支持常用应用层协议解决传输的问题:粘包、半包现象支持流量整形完善的断连、ldle等异常处理1.3 I/o模型io模型的理解:就是用什么样的通道进行数据发送和接收,很大程度上决定了通信性能。BIo:原创 2021-05-09 16:39:43 · 587 阅读 · 0 评论 -
NIO的基本介绍
一、什么是NIOJava NIO全称java non-blocking IO, 是指JDK提供的新API。从JDK1.4开始,Java提供了一系列改进的输入/输出的新特性,被统称为NIO(即New IO),是同步非阻塞的NIO有三大核心部分: Channel(通道), Buffer(缓冲区),Selector(选择器)NIO是面向缓冲区,或者面向块编程的。数据读取到一个它稍后处理的缓冲区,需要时可在缓冲区中前后移动,这就增加了处理过程中的灵活性,使用它可以提供非阻塞式的高伸缩性网络。原创 2021-05-05 16:02:16 · 13302 阅读 · 4 评论