即时通讯软件(IM)发展到功能已经越来越齐全,我们的日常生活中不管是社交、网上购物还是工作都已经离不开即时通讯软件。小编就为大家推荐六个即时通讯的开源项目,分别从不同语言、不同应用方面带给大家一些IM软件开发的思路。
推荐项目1、轻量、高性能、单机支持几十万至百万在线用户IMJ-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.零成本部署,一键启动。
项目特点:
1.开聊:和服务器上的任何用户开聊,收发表情、图片、截屏、文件样样在行;
2.开源安全:源码开放,客户端和服务器通信全程加密,安全可靠;
3.讨论组:一个人讨论的瘾?随时邀请多人组建个性讨论组;
4.公开讨论组:将讨论组公开,任何感兴趣的人都可以加入进来;
5.通知及提醒:与系统桌面环境集成,即时收到新消息通知;
6.会话管理:将任意会话(包括讨论组和公开讨论组)置顶,精彩内容不容错过,还可以重命名讨论组、为讨论组设置白名单及浏览会话的所有消息历史记录;
7.通讯录:浏览企业成员资料和联系信息;
8.跨平台客户端:目前已支持Windows、Linux、Mac,并且还提供了浏览器客户端;
9.轻量级服务器端:轻松搭配然之协同使用。
项目特点:
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个版本,根据您的技术喜好灵活选择。
OIM是一套即时通讯的聊天系统,一方面希望能够帮助对即时通讯有兴趣研究的朋友,另一方面希望能帮助到需要即时通讯系统的朋友或者企业,可以直接使用或者二次开发。可以用于公司内网、外网通讯、客服系统等,聊天系统。OIM项目可用于任何商业、个人作品中并且希望能够保留作者信息。