Just Do It
01
02
02
Netty 是如何解决 TCP 粘包/拆包问题的 Netty 是如何解决 TCP 粘包/拆包问题的
1. 什么是 TCP 粘包/拆包在 RPC 框架中,TCP 粘包和拆包问题是必须解决一个问题,因为 RPC 框架中,各个微服务相互之间都是维系了一个 TCP 长连接,比如 Dubbo 就是一个全双工的长连接。由于微服务往对方发送信息的时候,
2022-01-02
02
Codec 编码与解码 Codec 编码与解码
1. 什么是 Codec从网络传输的角度来讲,数组总是以字节的格式在网络之中进行传输 每当源主机发送数据到目标主机时,数据会从本地格式被转换成字节进行传输,这种转换被称为编码,编码的逻辑由 编码器 处理。 每当目标主机接受来自源主机的数
2022-01-02
02
Bootstrap 详解 Bootstrap 详解
在了解 ChanelPipeline,EventLoop 等组件之后,我们需要将这些组件组织起来,使其成为一个可运行的应用程序。 这里就需要引导 Boostrap 相关组件了。 1. Boostrap 类引导类的层次结构包括一个抽象的父类和
2022-01-02
02
02
02
ByteBuf 详解 ByteBuf 详解
正如我们先前所指出的,**网络数据的基本单位永远是 byte(字节)**。Java NIO 提供 ByteBuffer 作为字节的容器,但这个类是过于复杂,有点难以使用。 Netty 中 ByteBuffer 的替代是 ByteBuf,
2022-01-02
02
Transport 详解 Transport 详解
1. 概述在网络中传递的数据总是具有相同的类型:字节。 这些字节流动的细节取决于网络传输,它是一个帮我们抽象底层数据传输机制的概念,我们不需要关心字节流动的细节,只需要确保字节被可靠的接收和发送。 当我们使用 Java 网络编程时,可能会接
2022-01-02
02
Netty 核心组件总览 Netty 核心组件总览
1. 核心组件概述下面枚举所有的 Netty 应用程序的基本构建模块(核心组件),包括客户端和服务器: Bytebuf(字节容器) Bootstrap 和 ServerBootstrap (启动引导类) Channel(网络操作抽象类)
2022-01-02
02
02
从 BIO、NIO 到 Netty 从 BIO、NIO 到 Netty
1. BIO① 传统的阻塞式通信流程早期的 Java 网络相关的 API(java.net包) 使用 Socket(套接字)进行网络通信,不过只支持阻塞函数使用。 要通过互联网进行通信,至少需要一对套接字: 运行于服务器端的 Server
2022-01-02
02
9 / 14