如何开发一款即时通讯软件?看这六个项目就够了
Posted cangqinglang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何开发一款即时通讯软件?看这六个项目就够了相关的知识,希望对你有一定的参考价值。
即时通讯软件(IM)发展到今天功能已经越来越齐全,我们的日常生活中不管是社交、网上购物还是工作都已经离不开即时通讯软件。今天小编就为大家推荐六个即时通讯的开源项目,分别从不同语言、不同应用方面带给大家一些 IM 软件开发的思路。
推荐项目1、轻量、高性能、单机支持几十万至百万在线用户IM J-IM
J-IM 是用 JAVA 语言,基于 t-io 开发的轻量、高性能、单机支持几十万至百万在线用户 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
推荐项目2、轻量级企业聊天软件 喧喧
由然之协同提供的面向企业即时通信解决方案。
项目特点:
1.开聊:和服务器上的任何用户开聊,收发表情、图片、截屏、文件样样在行;
2.开源安全:源码开放,客户端和服务器通信全程加密,安全可靠;
3.讨论组:一个人讨论的不过瘾?随时邀请多人组建个性讨论组;
4.公开讨论组:将讨论组公开,任何感兴趣的人都可以加入进来;
5.通知及提醒:与系统桌面环境集成,即时收到新消息通知;
6.会话管理:将任意会话(包括讨论组和公开讨论组)置顶,精彩内容不容错过,还可以重命名讨论组、为讨论组设置白名单及浏览会话的所有消息历史记录;
7.通讯录:浏览企业成员资料和联系信息;
8.跨平台客户端:目前已支持Windows、Linux、Mac,并且还提供了浏览器客户端;
9.轻量级服务器端:轻松搭配然之协同使用。
项目地址:https://gitee.com/wwccss/xuanxuan
推荐项目3、专为移动端开发的原创即时通讯框架 MobileIMSDK
MobileIMSDK 是一套专为移动端开发的原创即时通讯高可重用框架,超轻量级、高度提炼,完全基于UDP 协议,支持 ios、android、标准 Java 平台,服务端基于 Mina 和 Netty 编写。
项目特点:
1.超轻量级:高度提炼,lib包50KB以内;
2.UDP实现:更好的适应现今的无线网络环境;
3.高效费比:UDP的无连接特性,同等条件下可实现更高的网络负载和吞吐能力;
4.消息走向:支持即时通讯技术中消息的所有可能走向,共3种(即C2C、C2S、S2C);
5.QoS机制:完善的消息送达保证机制,不漏过每一条消息;
6.健壮可靠:实践表明,非常适于在高延迟、跨洲际、不同网络制式环境中稳定、可靠地运行;
7.断网恢复:拥有网络状况自动检测、断网自动治愈的能力;
8.原创算法:核心算法和实现均为原创,保证了持续改进和提升的空间;
9.多种模式:预设多种实时灵敏度模式,可根据不同场景控制即时性、流量和客户端电量消耗;
10.数据压缩:自有协议实现,未来可自主定制数据压缩,灵活控制客户端的流量、服务端网络吞吐;
11.高度封装:高度封装的API接口,保证了调用的简易性,也使得可应用于更多的应用场景;
12.Web支持:可与姊妹工程MobileIMSDK-Web 无缝互通实现网页端聊天或推送等;
13.Mina、Netty:服务端分别提供了基于Mina和Netty共2个版本,根据您的技术喜好灵活选择。
项目地址:https://gitee.com/jackjiang/MobileIMSDK
推荐项目4、基于mina或netty框架下的推送系统 CIM
或许有一些企业有着自己一套即时通讯系统的需求,那么 CIM 为您提供了一个解决方案,目前 CIM 支撑 websocket,android,ios,桌面应用,系统应用等多端接入支持,可应用于移动应用,物联网,智能家居,嵌入式开发,桌面应用,WEB应用以及后台系统之间的即时消服务。
项目地址:https://gitee.com/farsunset/cim
推荐项目5、跨平台、全开源的即时通讯解决方案 野火 IM
本工程为野火 IM 社区版 IM 服务软件。野火 IM 作为一个通用的即时通讯解决方案,可以集成到各种应用中。
项目地址:https://gitee.com/wildfirechat/server
推荐项目6、即时通讯的聊天系统 oim-fx
OIM是一套即时通讯的聊天系统,一方面希望能够帮助对即时通讯有兴趣研究的朋友,另一方面希望能帮助到需要即时通讯系统的朋友或者企业,可以直接使用或者二次开发。可以用于公司内网、外网通讯、客服系统等,聊天系统。OIM项目可用于任何商业、个人作品中并且希望能够保留作者信息。
项目地址:https://gitee.com/oimchat/oim-fx
以上是关于如何开发一款即时通讯软件?看这六个项目就够了的主要内容,如果未能解决你的问题,请参考以下文章