“小时候,乡愁是一枚小小的邮票,我在这头,母亲在那头…… ”
春节将至,思乡心切,小一情不自禁的想起了余光中老师的《乡愁》,在惊叹诗歌韵律情感美妙之余不禁在想,如果当时有了即时通讯工具,或许能更好地缓解那抹深沉的忧伤。科技的小小进步,却从此大大地改变了世界!今天小一为大家带来了国内开发者的即时通讯类实战项目,开源让通讯从未如此简单~
**项目简介:**本项目为了简单方便,便把之前百度推聊换了一个芯:将基于百度云推送改成基于 asmack 的即时通讯,当然,界面也会有一定的改动,会增加一些新东西,也会去掉一些多余的累赘。另外改动比较大的数据库存取方式,这次改成 contentprovider,关于这个 Android 四大基本组件之一,我们几乎都是用的比较多,实现真是少之又少,权当是练练手吧!
**项目地址:**https://git.oschina.net/way/XMPP
**项目简介:**一个专为移动端开发的原创即时通讯框架,超轻量级、高度提炼,完全基于 UDP 协议,支持 iOS、Android、标准 Java 平台;可应用于跨设备、跨网络的聊天 APP、企业 OA、消息推送等各种场景。
**设计目标:**让开发者专注于应用逻辑的开发,底层复杂的即时通讯算法交由 SDK 开发人员,从而解偶即时通讯应用开发的复杂性。
**性能测试:**压力测试表明,MobileIMSDK用于推送场景时,理论单机负载可接近千万级。用于聊天应用时,单机负载也可达数十万。
**项目地址:**https://git.oschina.net/jackjiang/MobileIMSDK
** 三、项目名称:基于 Java aio 的即时通讯框架 talent-aio**
**项目背景:**2011年本人有幸参与了中兴某刀片的网管系统,大领导亲点让我来改造原来的实时通讯模块,因为老系统每管理一个节点就需要两个线程,实测出来的数据是管理100个节点时,就会达到1000多个线程,稳定性和性能极差。在这样的背景下,开始学习 nio,改造后的系统线程维持在100个左右,可管理上千个节点,消息收发速度极快,最近和中兴同事了解过,核心代码仍然在运行,足见稳定性,这就是后来 talent-nio 的雏形。
后来作为热波间(一个直播平台)的平台端架构师,持续优化和封装了 talent-nio,使之可以支持4万 TCP 长连接,每秒可以收发10万条消息。很多朋友要求我开源 talent-nio,但是 talent-nio 在API设计方面不是太好,开源出来无疑个砸牌子的事情。一翻纠结后,写了 talent-aio,线程池部分来源于并优化于 talent-nio,其它部分一律重新设计,尤其是锁的优化和 API 的重新设计,为了折衷花费了大量精力。
**项目简介:**本项目已经提供了一个 helloworld 版的例子,虽然有3个maven工程,6个 java 文件,但是有效代码只有区区100多行,结构清晰极易上手,位于:example/helloworld目录。项目在单机IM场景,可处理73万条消息/秒,收发数据量70M/秒,可同时稳定维护10万级以上TCP长连接(测试环境:i7 4790、8G内存、windows7)。
Java aio 的驾驭需要有扎实的多线程基础,并且需要掌握很多多线程技巧,而 talent-aio 是将多线程技巧运用到极致的框架,所以通过学习本项目,你将会从本项目中学到很多关于多线程的技巧。
**项目地址:**https://git.oschina.net/tywo45/talent-aio
**项目简介:**本项目适用于企业内部沟通,无论是一对一聊天、群组聊天、部门聊天,基本的文本、表情、图片、 屏幕截图、语音消息、漫游消息,离线消息、离线文件等,必不可少。除此之外,还支持企业内部环境智能 P2P 点对点通讯,最高超过10MB每秒传输速度;还会有多人视频聊天,远程协助等沟通功能,满足更多企业内部同事间沟通需求,提高工作效率。
**项目地址:**https://git.oschina.net/akee/entboost
**项目简介:**Openfire+Smack+Spark 实现 Android 端的即时通讯 APP(仿微信)。 功能已基本实现完毕,本项目基于 Smack 4.1.3,这个版本的 smack 有很大的改动,网上的 Demo 很少,基本都是查看 API 实现的。
**项目地址:**https://git.oschina.net/yeliangliang/WeChat
**项目简介:**传统的HTTP协议,一般通过向服务器发送请求,拉取数据实现半双工通信,缺点是服务器难以直接向浏览器下发消息,因此,websocket协议应运而生,可用于向建立连接的浏览器主动下发任意数据(PUSH)。本项目基于Spring平台,整合websocket协议,实现一个简易web聊天室的功能。主要特性如下:
**项目地址:**https://git.oschina.net/shenzhanwang/Spring-websocket
**七、项目名称:基于 PHP 的网页聊天工具 **
**项目简介:**使用PHP+Swoole实现的网页即时聊天工具,其功能如下:
**项目地址:**https://git.oschina.net/nxs/PHPWebIM