zy-im基于 Netty 的 IM 服务

联合创作 · 2023-10-01 09:59

zy-im 是一个基于 Netty 的 IM 服务,支持 http 及多个应用。

软件架构

springboot2.3.4 + netty4.1.54 + redis + mongodb + protobuf

使用说明

  • http 调用 /register/app 接口创建 App,默认 Auth 为 !#-im-LZ114.Demo!-#0202*001
  • 拿到 AK 和 SK 后调用 /register/user 接口创建用户,注意,userId 必须唯一
  • 拿到 AK 和 SK 后客户端和服务端可建立长连接 TCP server:localhost:8999
  • 通道建立后第一个请求必须是认证,请求 model 如下: {cmd: 996 appName: "xiangkan", accessKey: "UKr6XmbTKa4=", secretKey: "osuuCV54u10="}
  • 认证通过后发送心跳 model:
  • 一对一聊天,需建立 sessionID 后才能互发消息,代码具体参考 com.wqnmdb.im.client.NettyClientHandler,数据模型参考 com.wqnmdb.im.domain.netty.protobuf
  • 认证通过后不需要再传 appName,accessKey,secretKey
  • 关于消息处理机制(com.wqnmdb.im.netty.dispose.impl.MsgDisposeImpl):
  • 测试运行 NettyClient 即可,如不使用 Minio,删除 FileController、MinioService、MinIoProperties 及配置即可
  • 系统启动时会清理所有缓存并创建所有 app 的通道容器,如有统计需求请自行拓展 NettyData
  • 配置 redis 及 mongodb 相关地址
浏览 11
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报