天气与日历 切换到窄版

 找回密码
 立即注册

QQ登录

只需一步,快速开始

【好消息,好消息,好消息】VIP会员可以发表文章赚积分啦 !
查看: 50|回复: 0

[Java源码] 基于t-io开发的轻量、高性能、单机支持几十万至百万在线用户IM,降低即时通讯门槛,快速打造低成本接入在线IM系统

[复制链接]

3074

主题

0

回帖

3218

积分

管理员

积分
3218
发表于 2024-11-4 22:48:36 | 显示全部楼层 |阅读模式
基于t-io开发的轻量、高性能、单机支持几十万至百万在线用户IM,降低即时通讯门槛,快速打造低成本接入在线IM系统
用JAVA语言,基于t-io开发的轻量、高性能、单机支持几十万至百万在线用户IM,主要目标降低即时通讯门槛,快速打造低成本接入在线IM系统,通过极简洁的消息格式就可以实现多端不同协议间的消息发送如内置(Http、Websocket、Tcp自定义IM协议)等,并提供通过http协议的api接口进行消息发送无需关心接收端属于什么协议,一个消息格式搞定一切!
主要特点
  • 1、高性能(单机可支持几十万至百万人同时在线)
  •     2、轻量、可扩展性极强
  •     3、支持集群多机部署
  •     4、支持SSL/TLS加密传输
  •     5、消息格式极其简洁(JSON)
  •     6、一端口支持可插拔多种协议(Socket自定义IM协议、Websocket、Http),各协议可分别独立部署。
  •     7、内置消息持久化(离线、历史、漫游),保证消息可靠性,高性能存储
  •     8、各种丰富的API接口。
  •     9、零成本部署,一键启动。

[color=rgb(51, 102, 153) !important]复制代码

消息格式
1.聊天请求消息结构
  • {
  •    "from": "来源ID",
  •    "to": "目标ID",
  •    "cmd":"命令码(11)int类型",
  •    "createTime": "消息创建时间long类型",
  •    "msgType": "消息类型int类型(0:text、1:image、2:voice、3:vedio、4:music、5:news)",
  •    "chatType":"聊天类型int类型(0:未知,1:公聊,2:私聊)",
  •    "groupId":"群组id仅在chatType为(1)时需要,String类型",
  •    "content": "内容",
  •    "extras" : "扩展字段,JSON对象格式如:{'扩展字段名称':'扩展字段value'}"
  • }

[color=rgb(51, 102, 153) !important]复制代码

请求:COMMAND_CHAT_REQ(11) 响应:COMMAND_CHAT_RESP(12)
2.鉴权请求消息结构
  • {
  •     "cmd":"命令码(3)int类型",
  •     "token": "校验码"
  • }

[color=rgb(51, 102, 153) !important]复制代码

请求:COMMAND_AUTH_REQ(3) 响应:COMMAND_AUTH_RESP(4)
3.握手请求消息结构
  • {
  •     "cmd":"命令码(1)int类型",
  •     "hbyte":"握手1个字节"
  • }

[color=rgb(51, 102, 153) !important]复制代码

说明:请求:COMMAND_HANDSHAKE_REQ(1) 响应:COMMAND_HANDSHAKE_RESP(2)
4.登录请求消息结构
  • {
  •     "cmd":"命令码(5)int类型",
  •     "userId": "用户账号",
  •     "password": "密码",
  •     "token": "校验码(此字段可与userId、password共存,也可只选一种方式)"
  • }

[color=rgb(51, 102, 153) !important]复制代码

请求:COMMAND_LOGIN_REQ(5) 响应:COMMAND_LOGIN_RESP(6)
5.心跳请求消息结构
  • {
  •     "cmd":"命令码(13)int类型",
  •     "hbbyte":"心跳1个字节"
  • }

[color=rgb(51, 102, 153) !important]复制代码

请求:COMMAND_HEARTBEAT_REQ(13) 响应:COMMAND_HEARTBEAT_REQ(13)
6.关闭、退出请求消息结构
  • {
  •     "cmd":"命令码(14)int类型",
  •     "userId":"用户ID"
  • }

[color=rgb(51, 102, 153) !important]复制代码

请求:COMMAND_CLOSE_REQ(14) 响应:无
7.获取用户信息请求消息结构
  • {
  •      "cmd":"命令码(17)int类型",
  •      "userId":"用户id(必填项)",
  •      "type":"获取类型(0:所有在线用户,1:所有离线线用户,2:所有用户[在线+离线])"
  • }

[color=rgb(51, 102, 153) !important]复制代码

请求:COMMAND_GET_USER_REQ(17) 响应:COMMAND_GET_USER_RESP(18)
8.获取持久化聊天消息(离线+历史+漫游)请求结构
  • {
  •      "cmd":"命令码(19)int类型",
  •      "fromUserId":"消息发送用户id(此字段必须与userId一起使用,获取双方聊天消息),非必填",
  •      "userId":"当前用户id(必填字段),当只有此字段时,type必须为0,意思是获取当前用户所有离线消息(好友+群组)",
  •      "groupId":"群组id(此字段必须与userId一起使用,获取当前用户指定群组聊天消息),非必填",
  •      "beginTime":"消息区间开始时间Date毫秒数double类型,非必填",
  •      "endTime":"消息区间结束时间Date毫秒数double类型,非必填",
  •      "offset":"分页偏移量int类型,类似Limit 0,10 中的0,非必填",
  •      "count":"显示消息数量,类似Limit 0,10 中的10,非必填",
  •      "type":"消息类型(0:离线消息,1:历史消息)"
  • }

[color=rgb(51, 102, 153) !important]复制代码

使用
  • 服务端(快速开发自己的高性能IM服务器):引入jim-server,在你的pom.xml中加入如下代码片段
  • <dependency>
  •     <groupId>org.j-im</groupId>
  •     <artifactId>jim-server</artifactId>
  •     <version>3.0.0.v20200501-RELEASE</version>
  • </dependency>

[color=rgb(51, 102, 153) !important]复制代码

  • 客户端(快速开发自己的IM客户端):引入jim-client,在你的pom.xml中加入如下代码片段
  • <dependency>
  •     <groupId>org.j-im</groupId>
  •     <artifactId>jim-client</artifactId>
  •     <version>3.0.0.v20200501-RELEASE</version>
  • </dependency>

[color=rgb(51, 102, 153) !important]复制代码










J-IM老版一些截图
Web访问地址:http://localhost:8888
Http协议api调用地址:http://localhost:8888/api/message/send


以下内容需要积分高于 2 才可浏览

链接: https://pan.baidu.com/s/1mWyqKBoiGW5B86hHRrZfRw


提取码下载:
文件名称:提取码下载.txt 
下载次数:0  文件大小:13 Bytes  售价:99金钱 [记录]
下载权限: 不限 [购买VIP]   [充值]   [在线充值]   【VIP会员5折;永久VIP免费】
安全检测,请放心下载



相关帖子

扫码关注微信公众号,及时获取最新资源信息!下载附件优惠VIP会员5折;永久VIP免费
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

免责声明:
1、本站提供的所有资源仅供参考学习使用,版权归原著所有,禁止下载本站资源参与商业和非法行为,请在24小时之内自行删除!
2、本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,请勿任何商业目的与商业用途。
3、若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。
4、论坛的所有内容都不保证其准确性,完整性,有效性,由于源码具有复制性,一经售出,概不退换。阅读本站内容因误导等因素而造成的损失本站不承担连带责任。
5、用户使用本网站必须遵守适用的法律法规,对于用户违法使用本站非法运营而引起的一切责任,由用户自行承担
6、本站所有资源来自互联网转载,版权归原著所有,用户访问和使用本站的条件是必须接受本站“免责声明”,如果不遵守,请勿访问或使用本网站
7、本站使用者因为违反本声明的规定而触犯中华人民共和国法律的,一切后果自己负责,本站不承担任何责任。
8、凡以任何方式登陆本网站或直接、间接使用本网站资料者,视为自愿接受本网站声明的约束。
9、本站以《2013 中华人民共和国计算机软件保护条例》第二章 “软件著作权” 第十七条为原则:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。若有学员需要商用本站资源,请务必联系版权方购买正版授权!
10、本网站如无意中侵犯了某个企业或个人的知识产权,请来信【站长信箱312337667@qq.com】告之,本站将立即删除。
郑重声明:
本站所有资源仅供用户本地电脑学习源代码的内含设计思想和原理,禁止任何其他用途!
本站所有资源、教程来自互联网转载,仅供学习交流,不得商业运营资源,不确保资源完整性,图片和资源仅供参考,不提供任何技术服务。
本站资源仅供本地编辑研究学习参考,禁止未经资源商正版授权参与任何商业行为,违法行为!如需商业请购买各资源商正版授权
本站仅收集资源,提供用户自学研究使用,本站不存在私自接受协助用户架设游戏或资源,非法运营资源行为。
快速回复 返回顶部 返回列表