Netty源码解析
文章平均质量分 86
Netty源码解析
Andy技术支援
技术支援、支持,主要方向:Java、AI、类脑技术、区块链
展开
-
Netty-5-线程模型
我们所选择的网络编程模式的内部有多少线程在为我们服务,以及它们是如何协同完成工作的。上述问题都属于’'线程模型"的范畴,了解“线程模型”对于性能调优至关重要。原创 2023-12-26 14:31:29 · 875 阅读 · 0 评论 -
Netty-4-网络编程模式
Netty既支持水平触发也支持边缘触发。Netty确实提供了这两种触发方式的定义。那么什么是水平触发和边缘触发?在理论层次上进行解析。原创 2023-12-24 22:27:03 · 936 阅读 · 0 评论 -
Netty-3-封帧
下面通过一个具体的例子来介绍一下黏包和半包的概念。如图所示,假设发送了两条消息——-ABC和DEF 此时,对方有可能一次性就接收到这两条消息(ABCDEF),也有可能分了好几次才接收完。换言之,接收到的消息可能是零散的(如AB CD EF) 前面那种一次性接收到多条消息的现象称为黏包,而后面那种分好几次接收到不完整消息的现象称为半包。我们首先进行客户请求的封帧和解帧。封帧主要是将客户请求封装成可以分清“界限”的数据。原创 2023-12-23 20:28:34 · 910 阅读 · 0 评论 -
Netty-2-数据编解码
下面先实现一个Netty编码处理程序。/*** 编码器类,用于将ResponseMessage对象编码为ByteBuf对象并添加到输出列表中*/@Override/*** 获取一个ByteBuf对象用于存储编码后的数据*//*** 对ResponseMessage对象进行编码,并将编码后的数据写入ByteBuf对象中*//*** 将编码后的ByteBuf对象添加到输出列表中*/接下来,再实现对应的Netty解码处理程序。/*** 订单协议解码器*/@Override。原创 2023-12-23 17:41:32 · 683 阅读 · 0 评论 -
Netty-1-编写网络应用程序的基本步骤
选择完传输协议后,就可以定义传输信息结构。我们首先需要考虑数据本身的编解码,比如JSON或ProtoBuf等编解码。除数据本身编码之外,有时候我们还要考虑是否能够高效传输数据,因此需要对数据进行压缩。最后,如果传输协议选择的是TCP,那么还需要处理黏包、 半包等问题。为此,我们需要选择相应的用来处理黏包、半包问题的编解码。原创 2023-12-23 16:41:42 · 415 阅读 · 0 评论