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

基于t-io开发的轻量、高性能、单机支持几十万至百万在线用户IM,降低即时通讯门槛,快速打造低成本接入在线IM系统
用JAVA语言,基于t-io开发的轻量、高性能、单机支持几十万至百万在线用户IM,主要目标降低即时通讯门槛,快速打造低成本接入在线IM系统,通过极简洁的消息格式就可以实现多端不同协议间的消息发送如内置(Http、Websocket、Tcp自定义IM协议)等,并提供通过http协议的api接口进行消息发送无需关心接收端属于什么协议,一个消息格式搞定一切!
主要特点

  1. 1、高性能(单机可支持几十万至百万人同时在线)
  2.     2、轻量、可扩展性极强
  3.     3、支持集群多机部署
  4.     4、支持SSL/TLS加密传输
  5.     5、消息格式极其简洁(JSON)
  6.     6、一端口支持可插拔多种协议(Socket自定义IM协议、Websocket、Http),各协议可分别独立部署。
  7.     7、内置消息持久化(离线、历史、漫游),保证消息可靠性,高性能存储
  8.     8、各种丰富的API接口。
  9.     9、零成本部署,一键启动。

复制代码

消息格式

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

复制代码

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

复制代码

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

复制代码

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

复制代码

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

复制代码

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

复制代码

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

复制代码

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

复制代码

使用

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

复制代码

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

复制代码




J-IM老版一些截图

Web访问地址:http://localhost:8888
Http协议api调用地址:http://localhost:8888/api/message/send
下载说明:
1.本站资源都是白菜价出售,同样的东西,我们不卖几百,也不卖几十,甚至才卖几块钱,一个永久会员能下载全站100%源码了,所以单独购买也好,会员也好均不提供相关技术服务。
2.如果源码下载地址失效请联系站长QQ进行补发。
3.本站所有资源仅用于学习及研究使用,请必须在24小时内删除所下载资源,切勿用于商业用途,否则由此引发的法律纠纷及连带责任本站和发布者概不承担。资源除标明原创外均来自网络整理,版权归原作者或本站特约原创作者所有,如侵犯到您权益请联系本站删除!
4.本站站内提供的所有可下载资源(软件等等)本站保证未做任何负面改动(不包含修复bug和完善功能等正面优化或二次开发);但本网站不能保证资源的准确性、安全性和完整性,由于源码具有复制性,一经售出,概不退换。用户下载后自行斟酌,我们以交流学习为目的,并不是所有的源码都100%无错或无bug;同时本站用户必须明白,【安安资源网】对提供下载的软件等不拥有任何权利(本站原创和特约原创作者除外),其版权归该资源的合法拥有者所有。
5.请您认真阅读上述内容,购买即以为着您同意上述内容,由于源码具有复制性,一经售出,概不退换。
安安资源网 » 基于t-io开发的轻量、高性能、单机支持几十万至百万在线用户IM,降低即时通讯门槛,快速打造低成本接入在线IM系统