【OpenIM原创】AppServer、AppClient、Open-IM-Server以及Open-IM-SDK之间的关系

写在前面

Open-IM是由前微信技术专家打造的开源的即时通讯组件。Open-IM包括IM服务端和客户端SDK,实现了高性能、轻量级、易扩展等重要特性。开发者通过集成Open-IM组件,并私有化部署服务端,可以将即时通讯、实时网络能力快速集成到自身应用中,并确保业务数据的安全性和私密性。

了解更多原创文章:

【OpenIM原创】开源OpenIM:轻量、高效、实时、可靠、低成本的消息模型

【OpenIM原创】C/C++调用golang函数,golang回调C/C++函数

【OpenIM原创】简单轻松入门 一文讲解WebRTC实现1对1音视频通信原理

【OpenIM扩展】OpenIM服务发现和负载均衡golang插件:gRPC接入etcdv3

【开源OpenIM】高性能、可伸缩、易扩展的即时通讯架构

如果您有兴趣可以在文章结尾了解到更多关于我们的信息,期待着与您的交流合作。

上图表示 AppServer、AppClient、Open-IM Server以及Open-IM-SDK 之间的关系。

Open-IM即时通信提供了单聊、群聊、消息推送、安全鉴权等基本的IM功能、服务器端提供业务回调接口,在消息发送过程中回调用户的业务服务器,可以完成具体的业务功能,例如消息过滤,屏蔽等功能。

Open-IM提供IM全托管服务,包括用户资料、好友关系、群组、消息、推送等功能。业务服务端只需要在用户注册、时调用Open-IMserver提供的获取token的接口,返回后,由app保存在本地,在下次登录时候携带token进行安全校验。客户端集成Open-IMSDK,仅仅需要调用初始化、加载会话等几个接口,无需更改原有App的架构,即可以完成带UI的IM全托管。

如果用户需要深度定制化开发,可以根据我们提供的OpenIM Client SDK接口,自定义开发,Open-IM客户端SDK是根据具体的常用的IM业务抽象而成,为了方便用户调用,我们尽力使其简洁、高效,而且易于扩展,方便用户能够根据自己的业务需求自定义消息。

2. Open-IM用户注册

app注册新用户时,your-app-server完成与自身逻辑相关的验证后,生成uid;

app-server 会携带 secret, platform, uid 等信息调用/auth/user_register接口完成open-im新用户注册;

open-im-server检验信息后,给your-app-server返回成功,your-app-server给app返回成功;

对于app存量用户,直接批量调用/auth/user_register完成open-im新用户注册;

对于/auth/user_register具体请求响应字段,请参考服务端API文档;

3. Open-IM用户登录

用户登录app时,your-app-server先验证app账号密码,成功后调用/auth/user_token获取uid+token;

your-app-server给客户端返回:uid+token+其他app数据;

客户端open-im-sdk带上uid+token登录open-im;

对于/auth/user_token具体请求响应字段,请参考服务端API文档;

OpenIM github开源地址:

https://github.com/OpenIMSDK/Open-IM-Server

OpenIM官网 :https://www.rentsoft.cn

OpenIM官方论坛:https://forum.rentsoft.cn/

我们致力于通过开源模式,为全球企业/开发者提供简单、易用、高效的IM服务和实时音视频通讯能力,帮助开发者降低项目的开发成本,并让开发者掌控业务的核心数据。

IM作为核心业务数据,安全的重要性毋庸置疑,OpenIM开源以及私有化部署让企业能更放心使用。

如今IM云服务商收费高企,如何让企业低成本、安全、可靠接入IM服务,是OpenIM的历史使命,也是我们前进的方向。

如您有技术上面的高见请到我们的论坛联系沟通,用户也可与我们的技术人员谈讨使用方面的难题以及见解

你可能感兴趣的:(【OpenIM原创】AppServer、AppClient、Open-IM-Server以及Open-IM-SDK之间的关系)