前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >开源项目 | 一款 IM 即时通讯系统,真是优雅!

开源项目 | 一款 IM 即时通讯系统,真是优雅!

作者头像
终码一生
发布2022-04-15 09:44:50
2.8K0
发布2022-04-15 09:44:50
举报
文章被收录于专栏:终码一生

1

简介

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

2

主要特点

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

3

消息格式

聊天请求消息结构

代码语言:javascript
复制
{
   "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'}"
}

鉴权请求消息结构

代码语言:javascript
复制
{
    "cmd":"命令码(3)int类型",
    "token": "校验码"
}

4

使用说明

服务端

快速开发自己的高性能IM服务器:引入jim-server,在你的pom.xml中加入如下代码片段

代码语言:javascript
复制
<dependency>
    <groupId>org.j-im</groupId>
    <artifactId>jim-server</artifactId>
    <version>3.0.0.v20200501-RELEASE</version>
</dependency>

客户端

快速开发自己的IM客户端:引入jim-client,在你的pom.xml中加入如下代码片段

代码语言:javascript
复制
<dependency>
    <groupId>org.j-im</groupId>
    <artifactId>jim-client</artifactId>
    <version>3.0.0.v20200501-RELEASE</version>
</dependency>

5

部分截图

好了,如果你觉得这个项目不错,就赶快来试试吧!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-10-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 终码一生 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
即时通信 IM
即时通信 IM(Instant Messaging)基于腾讯二十余年的 IM 技术积累,支持 Android、iOS、Mac、Windows、Web、H5、小程序平台且跨终端互通,低代码 UI 组件助您30分钟集成单聊、群聊、好友与资料、消息漫游、群组管理、会话管理、直播弹幕、内容审核和推送等能力。适用于直播互动、电商带货、客服咨询、社交沟通、企业办公、互动游戏、医疗健康等场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档