做网站需要资质吗,三网站建设,备案的网站是公司吗,网站推广软件免费版下载IM 开源系列
IM 即时通讯系统-41-开源 野火IM 专注于即时通讯实时音视频技术#xff0c;提供优质可控的IMRTC能力
IM 即时通讯系统-42-基于netty实现的IM服务端,提供客户端jar包,可集成自己的登录系统
IM 即时通讯系统-43-简单的仿QQ聊天安卓APP
IM 即时通讯系统-44-仿QQ即…IM 开源系列
IM 即时通讯系统-41-开源 野火IM 专注于即时通讯实时音视频技术提供优质可控的IMRTC能力
IM 即时通讯系统-42-基于netty实现的IM服务端,提供客户端jar包,可集成自己的登录系统
IM 即时通讯系统-43-简单的仿QQ聊天安卓APP
IM 即时通讯系统-44-仿QQ即时通讯系统服务端
IM 即时通讯系统-45-merua0oo0 IM 分布式聊天系统
IM 即时通讯系统-46-OpenIM 提供了专为开发者设计的开源即时通讯解决方案
IM 即时通讯系统-47-beardlessCat IM 使用netty开发分布式Im提供分布netty集群解决方案
IM 即时通讯系统-48-aurora-imui 是个通用的即时通讯IMUI 库不特定于任何 IM SDK
IM 即时通讯系统-49-云信 IM UIKit 是基于 NIM SDK网易云信 IM SDK开发的一款即时通讯 UI 组件库包括聊天、会话、圈组、搜索、群管理等组件
IM 即时通讯系统-50-cim(cross IM) 适用于开发者的分布式即时通讯系统
IM 即时通讯系统-51-MPush开源实时消息推送系统
IM 即时通讯系统-52-leo-im 服务端
IM 即时通讯系统-53-im system server
IM
https://github.com/crossoverJie/cim
CIM V2.0
[x] 升级至 JDK17 和 Spring Boot 3.0 [x] 客户端 SDK [ ] 客户端使用 picocli 替代 Spring Boot。 [x] 支持集成测试。 [ ] 集成 OpenTelemetry。 [ ] 支持单节点启动不含任何组件。 [ ] 支持第三方组件替换如 Redis/Zookeeper 等。 [ ] 支持 Web 客户端WebSocket。 [ ] 支持 Docker 容器。 [ ] 支持 Kubernetes 运行。 [ ] 支持二进制客户端使用 Golang 构建。
介绍
CIMCROSS-IM 是一个面向开发者的 IM即时通讯 系统同时也提供了一些组件帮助开发者构建可扩展的 IM 系统。使用 CIM您可以实现以下需求 实现 IM 即时通讯系统。
为 APP 提供消息推送中间件。
为 IOT 大规模连接场景提供消息中间件。
如果在使用或开发过程中有任何问题您可以联系作者。
TODO LIST 群聊 私聊 内置命令 聊天记录查询。 一键开启价值 2 亿的 AI 模式 使用 Google Protocol Buffer 高效编解码 根据实际情况灵活的水平扩容、缩容 服务端自动剔除离线客户端 客户端自动重连 延时消息 SDK 开发包 分组群聊 离线消息 消息加密
架构
CIM 中的每个组件都是使用 SpringBoot 构建的。
客户端使用 cim-client-sdk 构建。
使用 Netty 构建底层通信。
使用 MetaStore 用于 IM-server 服务的注册与发现。
cim-server
IM 服务器用于接收客户端连接、消息转发、消息推送等功能支持集群部署。
cim-route
路由服务器用于处理消息路由、消息转发、用户登录、用户离线以及一些运维工具如获取在线用户数量等。
cim-client
IM 客户端终端可以通过命令启动并与他人进行通信群聊、私聊。
流程图 服务器向 MetaStore 注册。 路由服务器订阅 MetaStore。 客户端登录到路由服务器。 路由服务器从 MetaStore 获取服务器信息。 客户端与服务器建立连接。 客户端 1 向路由服务器发送消息。 路由服务器选择服务器并将消息转发到服务器。 服务器将消息推送至客户端 2。
快速启动
首先需要安装 Zookeeper、Redis 并保证网络通畅。
docker run --rm --name zookeeper -d -p 2181:2181 zookeeper:3.9.2
docker run --rm --name redis -d -p 6379:6379 redis:7.4.0git clone https://github.com/crossoverJie/cim.git
cd cim
mvn clean package -DskipTeststrue
cd cim-server cim-client cim-forward-route
mvn clean package spring-boot:repackage -DskipTeststrue部署 IM-server(cim-server)
cp /cim/cim-server/target/cim-server-1.0.0-SNAPSHOT.jar /xx/work/server0/
cd /xx/work/server0/
nohup java -jar /root/work/server0/cim-server-1.0.0-SNAPSHOT.jar --cim.server.port9000 --app.zk.addrzk地址 /root/work/server0/log.file 21 cim-server 集群部署同理只要保证 Zookeeper 地址相同即可。 部署路由服务器(cim-forward-route)
cp /cim/cim-server/cim-forward-route/target/cim-forward-route-1.0.0-SNAPSHOT.jar /xx/work/route0/
cd /xx/work/route0/
nohup java -jar /root/work/route0/cim-forward-route-1.0.0-SNAPSHOT.jar --app.zk.addrzk地址 --spring.redis.hostredis地址 --spring.redis.port6379 /root/work/route/log.file 21 cim-forward-route 本身就是无状态可以部署多台使用 Nginx 代理即可。 启动客户端
cp /cim/cim-client/target/cim-client-1.0.0-SNAPSHOT.jar /xx/work/route0/
cd /xx/work/route0/
java -jar cim-client-1.0.0-SNAPSHOT.jar --server.port8084 --cim.user.id唯一客户端ID --cim.user.userName用户名 --cim.route.urlhttp://路由服务器:8083/如上图启动两个客户端可以互相通信即可。
本地启动客户端
注册账号
curl -X POST --header Content-Type: application/json --header Accept: application/json -d {reqNo: 1234567890,timeStamp: 0,userName: zhangsan
} http://路由服务器:8083/registerAccount从返回结果中获取 userId
{code:9000,message:成功,reqNo:null,dataBody:{userId:1547028929407,userName:test}
}启动本地客户端
# 启动本地客户端
cp /cim/cim-client/target/cim-client-1.0.0-SNAPSHOT.jar /xx/work/route0/
cd /xx/work/route0/
java -jar cim-client-1.0.0-SNAPSHOT.jar --server.port8084 --cim.user.id上方返回的userId --cim.user.userName用户名 --cim.route.urlhttp://路由服务器:8083/客户端内置命令
命令描述:q!退出客户端:olu获取所有在线用户信息:all获取所有命令:q [option]【:q 关键字】查询聊天记录:ai开启 AI 模式:qai关闭 AI 模式:pu模糊匹配用户:info获取客户端信息:emoji [option]查询表情包 [option:页码]:delay [msg] [delayTime]发送延时消息:更多命令正在开发中。。
聊天记录查询 使用命令 :q 关键字 即可查询与个人相关的聊天记录。 客户端聊天记录默认存放在 /opt/logs/cim/所以需要这个目录的写入权限。也可在启动命令中加入 --cim.msg.logger.path /自定义 参数自定义目录。 AI 模式 使用命令 :ai 开启 AI 模式之后所有的消息都会由 AI 响应。
:qai 退出 AI 模式。
前缀匹配用户名 使用命令 :qu prefix 可以按照前缀的方式搜索用户信息。 该功能主要用于在移动端中的输入框中搜索用户。