3 posts tagged with "飞享im"

View All Tags

10字节包头,两级命令字:飞享IM 二进制协议实践全解

comsincecomsinceJuly 14, 20265 min readIM即时通讯二进制协议Java

自研二进制协议要扛住"省、可切包、可分类、可加密、可演进"五条约束,这些原则听起来抽象,但落到一个真实跑在生产环境的 IM 服务端里,每一条都能在代码里指认到具体的类和字段。这篇文章以飞享IM(FshareIM)服务端 chat-server-pro 为例,从源码层面拆解这套自研协议是怎么把上述原则一条条实现出来的:10 字节包头怎么切包、Signal/SubSignal 两级命令字怎么分发、心跳和 ACK 怎么关联、AES 加密放在协议的哪个环节、版本位怎么预留,以及 TCP 二进制和 WebSocket JSON 这两条通道是怎么在同一个接入层里协同工作的。

10字节包头,两级命令字:飞享IM 二进制协议实践全解

飞享IM核心技术说明与方案改进说明

comsincecomsinceMay 20, 20265 min readIM即时通讯分布式消息队列

飞享IM(FshareIM)是一款支持私有部署的即时通讯系统,服务端采用 Java 实现,核心由 push-connector(接入层) 和 push-group(业务层) 两个服务组成。本文从实际运行角度梳理系统的13个核心技术模块,逐一说明当前方案的设计思路、存在的隐患,以及对应的改进建议,帮助开发者快速理解系统全貌。