OpenChat 是一套完整的 IM 软件平台,包含完整的服务器、客户端。
服务器使用D语言编写,通信协议使用了 msgtrans + protobuf 3.x ,内置 e2ee 加密。
IM 服务器分为 Gate / Msg / Logic 三个服务,下面是三个服务的解释:
- Gate:顾名思义是网关服务,可以启用多个网关,比如北京、上海、深圳我们都放一个网关,来提升用户访问的响应问题。
- Msg:消息服务器,Msg 服务可以根据需求无限扩展,来提服务的并发能力。
- Logic:这个是逻辑服务器,所有用户关系、群、红包等功能都会在这个服务内完成,主要是操作消息队列和数据库。
值得一提的是 OpenChat 配套了完整的 SDK 封装,SDK 封装使用了 C++11 语法,兼容了 iOS / Android / Windows /macOS/ Linux / FreeBSD 等主流平台。
目前支持的客户端:
- iOS 客户端采用 SwiftUI 开发
- Android 客户使用 Jetpack Compose 开发