OpenIM简介

OpenIM是由IM技术专家打造的开源即时通讯组件,也是目前最受欢迎的开源IM项目之一,目前github star近万。开发者通过集成OpenIM组件,并私有化部署服务端,可以将即时通讯、实时通讯能力快速集成到自身应用中,并确保业务数据的安全性和私密性。

github地址:https://github.com/OpenIMSDK

文档中心:https://doc.rentsoft.cn/#/

平台支持

以下平台都支持,消息互通,且多端实时同步。

平台 IMSDK 音视频通话 带UI的商业版 工作圈 组织架构

Android 支持 支持 支持 未完成 未完成

iOS 支持 支持 支持 未完成 未完成

Web 支持 支持 支持 无 支持

Uniapp 支持 不支持 支持 未完成 未完成

Flutter 支持 支持 支持 支持 支持

Electron(win/mac) 支持 支持 支持 无 支持

商业版本是针对政企办公场景,OpenIM技术团队在100%开源的OpenIM服务端和IMSDK基础上,开发功能完整的IM产品。客户经授权后,可以直接部署运营商业版,也可以在此基础上二次开发。

帐号功能

功能类型 功能描述

帐号导入 以管理员身份批量导入帐号和业务系统对接

帐号禁用 封号,禁止登录

用户在线状态 查询在线和离线状态

查询帐号 查询帐号是否导入

设置用户资料 设置用户昵称、头像、性别、年龄等资料

获取用户资料 用户查看自己、好友及陌生人资料

强制退出登录 管理员强制用户退出登录

多端登录

功能类型 功能描述

双平台登录 Android、iOS、iPad、Windows、Mac 每端只能1个在线;Web可同时在线10个

消息类型

功能类型 功能描述

文本消息 消息内容是普通文本

图片消息 消息内容为图片 URL 地址、尺寸、图片大小等信息,支持MinIO,cos,oss,s3存储

表情消息 表情消息为开发者自定义

语音消息 语音数据需要提供时长信息,以秒为单位

地理位置消息 消息内容为地理位置标题、经度、纬度信息

文件消息 消息内容为文件的 URL 地址、大小、格式等信息,格式不限,大小不限,支持MinIO,cos,oss,s3存储

视频消息 消息内容为视频文件的 URL 地址、时长、大小、格式等信息,大小不限,支持MinIO,cos,oss,s3存储

自定义消息 开发者自定义的消息类型

系统通知消息 包含内置的系统通知消息和开发者自定义系统通知消息

Tips 消息 系统性通知消息,例如有成员进出群组,群的描述信息被修改,群成员的资料发生变化等,好友申请,好友增加等

合并消息 最大支持10条消息合并

回复消息 针对消息进行引用回复

阅后即焚消息 在单聊下开启后,对方已读后30秒自动删除

消息功能

功能类型 功能描述

离线消息 用户登录后退到后台,当有用户给其发消息时,即时通信 IM 支持离线推送

漫游消息 在新设备登录时,将服务器记录(云端)的历史消息存储进行同步,可以配置延长

多端同步 多终端消息同步,可同时收到消息

历史消息 支持本地历史消息和云端历史消息

消息撤回 撤回操作支持单聊和群聊消息,撤回时间未限制,群内管理员可以撤回群成员消息

已读回执 支持单聊已读未读状态,群聊支持查看哪些人已读未读状态

消息转发 将消息转发给其他用户或群组

@功能 群内 @ 消息与普通消息没有本质区别,仅是在被 @ 的人在收到消息时,需要在 UI 上做特殊处理

正在输入 能实时感知对方正在输入

离线推送 支持极光、个推、google firebase推送

消息删除 支持删除本地和服务端消息

标签推送 创建标签,针对标签群发消息

本地消息搜索 支持搜索好友,搜索群组、群成员;搜索消息,会话

会话功能

功能类型 功能描述

置顶会话 置顶会话,并多端同步

删除会话 删除会话,会话内消息也会删除

设置免打扰 接收消息但不提醒;不接收消息

设置单聊阅后即焚 对方已读就30秒双方自动删除

关系链功能

功能类型 功能描述

查找好友 可通过用户帐号 ID 、二维码查找好友

申请添加好友 要选择默认是否需要申请理由,目前是默认不需要

添加好友 发送添加好友请求

导入好友 支持批量导入单向好友

删除好友 成为好友后可以删除好友,好友是双向关系

获取所有好友 获取所有好友,

同意/拒绝好友 收到请求加好友请求的系统通知后,可以通过或者拒绝

添加用户到黑名单 把任意用户拉黑,如果此前是好友关系不会解除好友关系

移除黑名单 把用户从黑名单中移除

获取黑名单列表 拉取用户黑名单列表

好友备注 成为好友后可以给好友备注

校验好友 支持校验好友关系

校验黑名单 支持校验黑名单

关系链资料存储 SDK 对关系链资料进行存储

好友资料变更系统通知 好友资料变更可以收到系统通知

群组功能

创建群组 任何人可以创建群组

退出群组 群主不能退出群组

解散群组 群主解散群组

申请加群 可以通过群二维码 群ID申请加群,由群主和管理员审批

加群审批 群主和管理审批

邀请加群 群成员邀请加群可直接进群或由管理员审批

修改群信息 修改群头像、群名称、群公告编辑

踢出群 群主和管理员移除群成员

搜索 搜索群成员昵称和UserID

群成员资料修改 群昵称 群头像修改,并实时通知群成员

管理员撤回群内消息 不受时间限制撤回消息

进群验证设置 管理员设置,可直接进群;进群需要验证;群成员邀请直接进群

群成员权限设置 不允许查看群成员资料;不允许添加群成员为好友

群主转让 群主身份转让给群成员

禁言 全体禁言,个人禁言

超级大群 支持10万人群

新成员进群查看历史消息 支持新成员进群查看(不查看)历史消息

成员变更通知新 所有成员都能收到通知,包括成员进群、退群、邀请进群、成员被踢等,并实时通知

群资料变更通知 所有成员都能收到通知,包括群头像、群名、群公告被修改,并实时通知

音视频通话

1对1音视频 支持主动拨号、接听、挂断;支持被动回调:呼叫,接听,挂断,超时

多对多音视频 支持主动拨号、接听、挂断;支持被动回调:呼叫,接听,挂断,超时

事件回调

用户登录回调 用户登录成功后通过callback回调业务服务器

用户退出登录回调 用户退出登录成功后通过callback回调业务服务器

发送单聊消息前回调 用户发送单聊消息前通过callback回调业务服务器

发送单聊消息后回调 用户单聊消息后通过callback回调业务服务器

发送群组消息前回调 用户发送群组消息前通过callback回调业务服务器

发送群组消息后回调 用户发送群组消息后通过callback回调业务服务器

消息推送前回调 消息推送前回调通过callback回调业务服务器

组织架构

创建部门 管理员创建部门

创建用户 管理员创建用户

把用户导入某个部门 管理员把用户导入某个部门,一个用户可以在多个部门中

删除部门 管理员删除部门及部门成员

删除用户 管理员删除用户,用户的部门信息也被删除

删除部门中的某个用户 管理员删除某个部门的某个用户

获取部门的所有成员 获取部门的所有成员信息

获取子部门列表 获取下级子部门列表

获取用户所在的所有部门 获取用户所有部门的岗位信息

更新部门信息 管理员更新部门信息

更新组织架构中的用户信息 管理员更新用户的基本信息

更新部门中的用户信息 管理员更新用户的岗位信息

工作圈

发布图文、发布视频 发布图文,及1分钟视频

删除动态 删除动态

浏览、评论、点赞 默认是所有人可以操作

评论、点赞实时提醒 实时提醒发布者

权限设置 可设置谁可见

性能

单机8核32G,100Mb带宽, 6个SSD。

同时在线 10万人

每秒消息数 5000条

消息延时 平均1-2秒

消息可达率 100%

Cpu使用率 90%

内存占用 28G

系统支持集群部署,支持k8s部署,可平行扩展,亿级用户,千亿级消息

收藏-即时通讯(IM)开源项目OpenIM-功能手册的更多相关文章

  1. 值得收藏--GitHub Top 20 开源项目

    参考链接:https://github.com/Aufree/trip-to-iOS/blob/master/Top-100.md 项目名称                            项目 ...

  2. 讲解开源项目:功能强大的 JS 文件上传库

    本文作者:HelloGitHub-kalifun HelloGitHub 的<讲解开源项目>系列,项目地址:https://github.com/HelloGitHub-Team/Arti ...

  3. 收藏的一些github开源项目,在这里记录一下

    1.在windows系统上在命令行中执行rm -fr */*.file 会报错, rimraf这个项目提供了跨平台支持rm命令,github地址: https://github.com/isaacs/ ...

  4. iOS开源项目MobileProject功能点介绍

    一:MobileProject简介 MobileProject项目是一个以MVC模式搭建的开源功能集合,基于Objective-C上面进行编写,意在解决新项目对于常见功能模块的重复开发,MobileP ...

  5. 可在广域网部署运行的即时通讯系统 -- GGTalk总览(附源码下载)

      (最新版本:V6.2,2019.01.03 .Xamarin移动端版本已经推出,包括 Android 和 iOS) GGTalk开源即时通讯系统(简称GG)是QQ的高仿版,同时支持局域网和广域网, ...

  6. 【转】可在广域网部署运行的即时通讯系统 -- GGTalk总览(附源码下载)

    原文地址:http://www.cnblogs.com/justnow/p/3382160.html (最新版本:V6.0,2017.12.11 .即将推出Xamarin移动端版本,包括 Androi ...

  7. Android 开源项目 eoe 社区 Android 客户端(转)

    本文内容 环境 开源项目 eoe 社区 Android 客户端 本文介绍 eoe 社区 Android 客户端.它是一个开源项目,功能相对简单,采用侧边菜单栏.可以学习一下.点击此处查看 GitHub ...

  8. 即时通讯(III)

    即时通讯的开源库 目前及时通讯可以使用环信.柔云.腾讯云,这些都是基于TCP连接的,UI也是高度定制的,而且它们的技术也是比较成熟的. XMPP比较早,是开源的,但是坑也比较多.传输的数据是XML,造 ...

  9. Android 开源项目 eoe 社区 Android 客户端

    本文内容 环境 开源项目 eoe 社区 Android 客户端 本文介绍 eoe 社区 Android 客户端.它是一个开源项目,功能相对简单,采用侧边菜单栏.可以学习一下.点击此处查看 GitHub ...

  10. 5 天 4000 star 的一个爆款开源项目

    今天早上起来浏览 GitHub 的时候,在周热门趋势排行榜上看到了这么一个开源项目,仅仅 5 天时间,爬到了周排行榜的第一名的位置.而在每天的排行榜上,今天一早也高高位居排行榜的第二位. 这个开源项目 ...

随机推荐

  1. html jquery from 表单提交 application/x-www-form-urlencoded 改成 json

    html jquery from 表单提交 $(form).ajaxSubmit  application/x-www-form-urlencoded  改成 json 要使用 jQuery 根据 n ...

  2. 使用 Kubeadm 部署 Kubernetes(K8S) 安装 -- 持久化存储(NFS网络存储)

    使用 Kubeadm 部署 Kubernetes(K8S) 安装 使用 Kubeadm 部署 Kubernetes(K8S) 安装 -- Ingress-Ngnix Volume 是 Pod 中能够被 ...

  3. 汇编 | mov. add. sub指令

    Description 前面我们用到了mov, add. sub指令,它们都带有两个操作对象.到现在,我们知道,mov指令可以有以下几种形式. mov 寄存器,数据 比如: mov ax,8 mov ...

  4. Educational Codeforces Round 106 (Rated for Div. 2) 简单题解(A~C)

    1499A. Domino on Windowsill 题意:给定一个 \(2 \times n\) 的空间,\(k1.k2 行要设置为白色(2 \times 1)\) 然后其他的设置为黑色 思路:为 ...

  5. JavaScript到底应不应该加分号?JavaScript自动插入分号规则详解

    JavaScript 提供了 automatic semicolon insertion (ASI)自动插入分号规则,在不加分号的情况下,会自动补充分号来分隔不同语句. 导致在继左大括号换行.tab ...

  6. shell脚本(7)-shell运算

    文档目录: 一.算数运算符 二.关系运算符 三.布尔运算符 四.逻辑运算符 五.字符串运算符 六.文件测试运算符 算术运算符 下表列出了常用的算术运算符,假定变量 a 为 10,变量 b 为 20: ...

  7. 基于java+springboot的酒店预定网站、酒店客房管理系统

    该系统是基于Java的酒店客房预订系统设计与实现.是给师弟开发的毕业设计.现将源代码开放出来,感兴趣的同学可以下载. 演示地址 前台地址: http://hotel.gitapp.cn 后台地址: h ...

  8. 【canvas】 绘制七巧板

    效果图: 代码 : <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...

  9. Linux-文件用户及组管理-chown-chgrp

  10. [转帖]Linux中的lstopo命令(详细指南)

    https://juejin.cn/post/7117544110856077343 目录: 简介 语法 命令 总结 参考文献 介绍 lstopo命令是用来显示系统的拓扑结构的.它提供了关于NUMA内 ...