开源IM项目集合,快来学习啊

开源IM项目集合,快来学习啊

IM是Instant Messaging(即时通讯)的缩写,是一种通过互联网或局域网实现即时交流的技术和应用。常见的IM工具包括QQ、微信、陌陌、soul、Skype、WhatsApp等。通过IM工具,用户可以发送文字、图片、语音、视频等信息,方便快捷地与他人交流。而且现在很多大型企业也都在自建或者购买成熟的IM软件。如果从0到1做出来,那确实需要花费很大的成本,这里就介绍一些优秀的开源项目,供大家学习参考。

OpenIM

由IM技术专家打造的基于 Go 实现的即时通讯(IM)项目,从服务端到客户端SDK开源即时通讯(IM)整体解决方案,可以轻松替代第三方IM云服务,打造具备聊天、社交功能的app。OpenIM的SDK和服务端代码100%开源,采用Apache-2.0 License协议,已经在github公开,任何团队和个人都可以免费使用。开发者可以选择自行部署服务端,基于SDK二次开发应用,开发者应当合法合规的使用产品,不得用于任何违法违规项目。商业版本是OpenIM技术团队在100%开源的OpenIM服务端和IMSDK基础上,开发带有UI功能完整的IM产品,客户可在此基础上二次开发。商业版本须授权,否则发起诉讼,向侵权者索赔。



代码地址:https://github.com/OpenIMSDK/Open-IM-Server.git

野火IM

野火IM是一套通用的即时通讯和实时音视频组件,能够更加容易地赋予客户IM和RTC能力,使客户可以快速的在自有产品上添加聊天和通话功能或者直接使用野火提供的应用。使用野火可以替代云通讯产品或减少自研即时通讯和实时音视频的工作量,降低客户研发成本和难度。

1
2
3
4
5
什么情况下需要使用收费项目?
需要im-server支持集群部署时,比如活跃用户量非常大,需要集群部署才能支持;或者对服务可用性要求非常高,需要集群部署保证高可用。
需要使用 PC、Web 或小程序端时。
需要支持音视频会议时(这是和腾讯会议类似的功能,和微信音视频聊天类似的多人音视频通话是免费的,可以直接使用)。

代码地址:https://github.com/wildfirechat/im-server.git

J-IM

J-IM 是用JAVA语言开发的轻量、高性能、单机支持几十万至百万在线用户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、零成本部署,一键启动。


代码地址:https://gitee.com/xchao/j-im.git

cim

CIM是一套完善的消息推送框架,可应用于信令推送,即时聊天,移动设备指令推送等领域。开发者可沉浸于业务开发,不用关心消息通道长连接、消息编解码协议等繁杂处理。
CIM采用业内主流开源技术构建,易于扩展和使用,并完美支持集群部署支持海量链接,目前支持websocket,android,ios,桌面应用,系统应用等多端接入持,可应用于移动应用,物联网,智能家居,嵌入式开发,桌面应用,WEB应用即时消服务。

代码地址:https://gitee.com/farsunset/cim.git

oim-fx

OIM是一套即时通讯的聊天系统,采用Java语言开发,基于spring cloud微服务体系开发的一套即时通讯服务端。 从单机到微服务都提供了可部署方案,并且单机、微服务都可以平滑切换,客户端可以毫无感知服务变更可以用于公司内网、外网通讯、客服系统等,聊天系统。可以直接使用或者二次开发,可用于任何商业、个人作品中并且希望能够保留作者信息.


OIM服务端源码地址:https://gitee.com/oimchat/oim-server.git
Electron:https://gitee.com/oimchat/oim-e.git
Web版客户端源码地址:https://gitee.com/oimchat/oim-web.git
OIM FX:https://gitee.com/oimchat/oim-fx.git

MobileIMSDK

服务端基于Netty,性能卓越、易于扩展,客户端支持iOS、Android、标准Java。一套API优雅支持UDP 、TCP 、WebSocket 三种协议。可应用于跨设备、跨网络的聊天APP、企业OA、消息推送等各种场景。你可永久免费且自由地使用MobileIMSDK,如:用于研究、学习、甚至商业用途, 但禁止在超越License约束内容的情况下用于商业用途等,请尊重知识产权

源码地址:https://github.com/JackJiang2011/MobileIMSDK.git

以上的开源IM项目,都是相对比较新的,还有一些其它不再更新的老项目,大家感兴趣的,也可以去研究一下:
starrtc-server:https://github.com/starrtc/starrtc-server.git
QIQIIM:https://gitee.com/qiqiim/qiqiim-server.git

开源IM项目集合,快来学习啊

https://blogs.52fx.biz/posts/1010930934.html

作者

eyiadmin

发布于

2023-04-03

更新于

2024-05-31

许可协议

评论