zy-im 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
zy-im 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
zy-im 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
zy-im 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
zy-im 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !
授权协议 Apache-2.0
开发语言 Java 查看源码 »
操作系统 跨平台
软件类型 开源软件
开源组织
地区 国产
投 递 者 御坂弟弟
适用人群 未知
收录时间 2021-01-15

软件简介

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 相关地址
展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (2)

加载中
小编弄错了,这个不是java项目,是给小程序项目,与netty更没关系
01/15 17:56
回复
举报
不好意思,我的问题,链接给错了
02/08 11:53
回复
举报
更多评论
暂无内容
发表了博客
2015/11/05 10:11

zy_tmpl

var data=[{                 "name":"fly","age":"20"},                  {"name":"fei","age":"18"},                  {"name":"Asin","age":"25"                 }];          var tmpl="<div>姓名:${name},年龄:${age}</div>";         var tmpp = zy_tmpl(tmpl,data,zy_tmpl_count(data));         $("#bbb").html(...

0
0
发表于开发技能专区
01/08 17:14

im

https://spring.io/guides/gs/messaging-stomp-websocket/

0
0
发表了博客
2020/09/07 08:22

IM

防骗提醒 应用皆由第三方提供,与本平台无关。 点击查看「APP防骗指南」 我已了解 不再提醒

0
0
发表了博客
2016/10/31 15:05

DE-9IM

DE-9IM 是一种拓扑模型,用于描述两个几何图形空间关系的一种标准。在专业领域,通常将每个几何图形分为三部分:外部(exterior),边界(boundary)和内部(interior)。 两个图形的关系判断,实际上就是三个部分的分别判断,因此就会有一个3*3交叉矩阵,这个矩阵就是DE-9IM模型: I()代表内部,B()代表边界,E()外部。在结果中,相交为点的维度为0,相交为线的维度为1,相交为面维度为2,-1代表没有相交即没有维度。如上图红色为相...

0
0
2015/01/14 14:35

IM总结

发送消息UDP打洞,登录的时候HTTP。 登录成功后,会有一个TCP连接来保持在线状态。这个TCP连接的远程端口一般是80,采用UDP方式登录的时候,端口是8000。 如果采用UDP协议,通过服务器中转方式。 UDP协议是不可靠协议,它只管发送,不管对方是否收到的。 如果client使用UDP协议发送消息后,服务器收到该包,需要使用UDP协议发回一个应答包,如此来保证消息可以无遗漏传输。 注册模块:6位数字ID,用户登录的唯一凭证。 P2P对等通...

0
0
发表了博客
2020/07/09 04:01

IM开发快速入门(一):什么是IM系统?

本文在编写时参考了博客作者“鹿呦呦”和在线课程“即时消息技术剖析与实战”的相关资料,一并表示感谢。 1、系列文章引言 IM系统看似简单(没错,很多土老板认为开发个qq和微信也就是几万块钱的事... ),实责是众多技术的应用合体,包括网络编程、移动开发、后端开发、高并发、高可用、高安全等技术范畴,再加上多端使用不同的编程语言,想要凑齐一个典型的IM产品技术栈那也不是个容易事。 而对于IM开发入门者来说,想要在众多...

0
4
发表了博客
2020/07/09 14:44

IM开发快速入门(一):什么是IM系统?

本文在编写时参考了博客作者“鹿呦呦”和在线课程“即时消息技术剖析与实战”的相关资料,一并表示感谢。 1、系列文章引言 IM系统看似简单(没错,很多土老板认为开发个qq和微信也就是几万块钱的事... ),实责是众多技术的应用合体,包括网络编程、移动开发、后端开发、高并发、高可用、高安全等技术范畴,再加上多端使用不同的编程语言,想要凑齐一个典型的IM产品技术栈那也不是个容易事。 而对于IM开发入门者来说,想要在众多...

0
7
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
2 评论
10 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部