
Netty
文章平均质量分 94
蚩尤后裔-汪茂雄
朝为田舍郎,暮登天 子堂;将相本无种,男儿当自强。
展开
-
Netty 编码前理论详解
目录Netty 简介Netty Features( 特色)Netty VS Mina应用领域自学建议Netty 简介Netty 是 JBoss 公司用Java写的一个Jar包(库),目的是快速开发高性能、高可靠性的网络服务器和客户端程序 Netty提供异步、无阻塞、事件驱动的网络应用程序框架和工具 Netty是目前公认的网络编程最好的框架,官网地址:ht...原创 2018-10-13 09:53:20 · 4058 阅读 · 0 评论 -
网络通信:Netty 框架概述 与 快速入门
1、Netty 是 JBoss 公司用 Java 写的一个 Jar 包(库),目的是快速开发高性能、高可靠性的网络服务器和客户端程序2、Netty 提供异步、无阻塞、事件驱动的网络应用程序框架和工具6、Netty 底层封装的也是 Java 的 NIO,所以也叫 NIO 框架,常用于开发分布式系统。7、《Netty 权威指南》Netty Features( 特色)Design( 设计)统一的 API,适用于不同的协议(阻塞和非阻塞)基于灵活、可扩展的事件驱动模型。原创 2018-10-13 10:40:40 · 39774 阅读 · 16 评论 -
LineBasedFrameDecoder 行解码器,回车换行符解决 TCP 粘包
LineBasedFrameDecoder为了解决 TCP 粘包/拆包导致的半包读写问题,Netty 默认提供了许多种编解码器用于处理半包本文将学习LineBasedFrameDecoder :基于行的帧解码器,配合StringDecoder 解码器一同使用 LineBasedFrameDecoder 的工作原理是它依次遍历 ByteBuf 中的可读字节,判断看是否...原创 2018-11-10 14:47:40 · 4666 阅读 · 3 评论 -
TCP 粘包/拆包说明 及 异常案例
目录TCP 粘包/ 拆包异常案例一百个客户端各发一条一百个客户端发一百条TCP 粘包/ 拆包TCP 是个“流”协议,所谓流,就是没有界限的一串数据,可以想象河里的流水连成一片,其间并没有分界线TCP 底层并不了解上层业务数据的具体含义,它会根据 TCP 缓冲区的实际情况进行包的划分,业务上认为,一个完整的包可能会被 TCP 拆分为多个包,也可能把多个小的包封装成一个...原创 2018-11-07 17:28:44 · 2795 阅读 · 0 评论 -
DelimiterBasedFrameDecoder 自定义分隔符解码器,解决 TCP 粘包
DelimiterBasedFrameDecoderDelimiterBasedFrameDecoder 分隔符解码器,使用自定义的分隔符作为码流结束标识的消息的解码。本文以经典的 Echo 服务为例,EchoServer 接收到 EchoClient 的请求后,将其打印出来,然后将原始消息返回给客户端,消息以 “$_” 作为分隔符。本文代码仍然在《LineBasedFrameDe...原创 2018-11-11 09:53:25 · 5481 阅读 · 2 评论 -
FixedLengthFrameDecoder 固定长度解码器,解决 TCP 粘包
FixedLengthFrameDecoder 消息长度固定,累积读取到长度总和为定长 LEN 的报文后,就认为读取到了一个完整的消息,再将计数器置位,重新读取下一个数据报。例如可以让每个报文的大小为固定长度 1024 字节,如果消息长度不够,则使用空位填补空缺,这样读取到了之后,只需要 trim 去掉空格即可。 FixedLengthFrameDecoder 固定长度解码器...原创 2018-11-11 11:06:49 · 6582 阅读 · 3 评论 -
Netty 整合 MessagePack 序列化框架 + LengthFieldBasedFrameDecoder 自定义解码器
目录环境准备及说明MessagePack 编解码器MessagePack 编码器MessagePack 解码器POJO UserNetty 网络通信服务端客户端运行测试环境准备及说明如果是导入二进制开发包,则如下所示:需要开发包的可以参考《MessagePack 开发入门详解》。如果是 Maven 项目,则添加如下依赖: <...原创 2018-11-25 13:36:57 · 1408 阅读 · 1 评论 -
ChannelHandler 接口继承关系图
原创 2018-11-29 15:34:53 · 834 阅读 · 0 评论