前段时间因为项目需要,需要在应用中增加即时通讯功能。当时也找了许多现有的第三方提供的解决方案,但最后结合项目实际需要和实现成本因素选择自己实现了一套解决方案。但考虑到并发和在线能力,系统仍需要进一步优化。所以决定进一步细化、深化系统设计,并尝试从项目中分离出 IM 模块成为一个独立的子系统,同时希望将自己的心得与体会记录下。
实时通信(Instant Messaging,简称 IM)是一个实时通信系统,允许两人或多人使用网络实时的传递文字消息、文件、语音与视频交流。当前也已有许多现成的第三方服务可以直接使用,但其实现原理究竟如何,且请大家一起来探个透彻吧!
本场 Chat 主要内容:
- 对比研究系统架构如何设计
- 在提高实时性的基础上消息如何存储
- 如何实现 IM 必要的基础功能:文字消息、图片消息、表情消息、语音消息发送与转发
- 如果保证系统的用户在线能力[并发能力]
- 完成上述目标后,也是由于目前自己项目中暂用不到实时语音和视频,所以在允许的情况下进阶:研究一下如何实现在线语音、在线视频
- 完成 1-4 代码实现,如果精力允许也将实现 5
- 开放项目代码
阅读全文: http://gitbook.cn/gitchat/activity/5d75ad5d96909d4220d0dcbc
您还可以下载 CSDN 旗下精品原创内容社区 GitChat App ,阅读更多 GitChat 专享技术内容哦。