
netty
文章平均质量分 94
JavaHxg
Java从业者
展开
-
三、Netty源码之请求处理流程
我们了解到Netty本身是基于JDK的NIO进行优化和改进一个框架,其实Netty本身还是基于JDK的NIO实现,所以我们再次把JDK的NIO的流程拉出来看一看。从上图可以看到,要启动NIO,那么就需要创建Selector,同样Netty要启动,同样也需要创建Selector。那么我们可以采用调试跟踪的方式来分析源码。原创 2023-03-29 10:45:17 · 442 阅读 · 0 评论 -
NIO网络编程
SelectionKey是一个抽象类,表示selectableChannel在Selector中注册的标识.每个Channel向Selector注册时,都将会创建一个SelectionKey。SelectionKey将Channel与Selector建立了关系,并维护了channel事件。可以通过cancel方法取消键,取消的键不会立即从selector中移除,而是添加到cancelledKeys中,在下一次select操作时移除它.所以在调用某个key时,需要使用isValid进行校验.原创 2023-03-29 10:23:15 · 159 阅读 · 0 评论 -
二、Netty源码解读之底层原理
假设客户端分别发送了两个数据包ABC和DEF给服务端,由于服务端一次读取到的字节数是不确定的,故可能存在以下4种情况1、服务端分两次读取到了两个独立的数据包,分别是ABC和DDEF,没有粘包和拆包;2、服务端一次接收到了两个数据包,ABC和DEF粘合在一起,被称为TCP粘包;3、服务端分两次读取到了两个数据包,第一次读取到了完整的ABC包和DEF包的部分内容(ABCD),第二次读取到了DEF包的剩余内容(EF),这被称为TCP拆包。原创 2023-03-29 10:00:02 · 409 阅读 · 0 评论 -
一、netty入门
Netty 由 Trustin Lee(韩国,Line 公司)2004 年开发本质:网络应用程序框架实现:异步、事件驱动特性:高性能、可维护、快速开发用途:开发服务器和客户端Netty的性能很高,按照Facebook公司开发小组的测试表明,Netty最高能达到接近百万的吞吐。原创 2023-03-28 09:53:44 · 413 阅读 · 0 评论