朝花夕誓
gRPC gRPC
一、protobuf介绍Protobuf(Prototcol Buffers)Google 开源的一种序列化方式。 Protobuf 官方实现了一门语言,专门用来自定义数据结构。protoc 是这门语言的编译工具,可编译生成指定编程语言(如
2024-01-22
即时通讯(1)-系统架构 即时通讯(1)-系统架构
一、项目目录1、基础模块:用户、关系链、群组 2、Netty实现 TCP 网关,同时支持 WebSocket 3、基础模块联动 TCP 服务,实现多端同步和业务回调 4、单聊、群聊核心消息的收发 5、消息实时性、有序性、一致性优化 6、揭秘
2023-05-18
Netty-源码 Netty-源码
一、启动流程1、启动流程因为 Netty 封装了 NIO ,所以以下通过 NIO 的启动流程代码联合 Netty 进行说明 // netty 中使用 NioEventLoopGroup (简称 nio boss 线程)来封装线程和 se
2021-12-09
Netty-应用 Netty-应用
一、粘包、半包1、基本介绍 TCP 是面向连接的,面向流的,提供高可靠性服务。收发两端(客户端和服务器端)都要有一一成对的 socket,因此,发送端为了将多个发给接收端的包,更有效的发给对方,使用了优化方法(Nagle 算法),将多次间隔
2021-11-29
Netty-基础 Netty-基础
一、Netty简介1、Netty 是什么 异步时间驱动框架,用于快速开发高性能服务端和客户端 封装了 JDK 底层的 BIO 和 NIO 模型,提供了高度可用的 API 自带编解码器解决拆包粘包问题,用户只用关心业务逻辑 Reactor 线
2021-11-22
Netty-NIO Netty-NIO
一、BIO 模型1、简介I/O 模型简单的理解:就是用什么样的通道进行数据的发送和接收,很大程度上决定了程序通信的性能。 Java BIO 就是传统的 Java I/O 编程,其相关的类和接口在 java.io。 BIO(Blocking
2021-10-30
WebSocket WebSocket
WebSocket 什么是WebSocket WebSocket协议是基于TCP的一种新的网络协议。它实现了浏览器与服务器全双工(full-duplex)通信——允许服务器主动发送信息给客户端。 实现原理 在实现websocket连线
2021-05-28
BIO、NIO、AIO BIO、NIO、AIO
一、概念1、IOIO 全程 Input/Output,即数据的读取(接收)或写入(发送)操作,针对不同的数据存储媒介,大致可以分为网络 IO 和磁盘 IO 两种。 而在 Linux 系统中,为了保证系统安全,操作系统将虚拟内存划分为内核空间
2021-02-24