目录
IM简单介绍
相关产品
ICQ 即“I SEEK YOU(我找你)”的意思。1996年,由三个以色列人在一起开始开发的。
第三方服务平台
如果我们自己需要做一款即时通讯的产品,我们不可能从 0 开始,搭建即时通讯的框架,这样我们会耗费很多的时间和精力。
那么怎么快速去实现即时通讯的功能呢?这时候我们就可以用到一些成熟的第三方服务平台。
常见第三方服务平台如下:
环信、融云、网易云信、极光IM、腾讯云通信IM、爱萌、阿里悟空(2016年10月31号正式下线)、阿里百川云旺等
我们可以根据产品需求和第三方服务平台的价格,进行合理的选择。
环信
官网:https://www.easemob.com//?utm_source=baidu-ppwx
开发文档:http://docs-im.easemob.com/
用户 A 要给用户 B 发送一个消息,它的流程是?
1、用户 A 并不是直接发送消息给到 用户 B,首先我们是把它发送给了环信服务器,然后环信服务器来判断用户 B 是否在线,
也就是用户 B 有没有和环信服务器建立连接,如果已连接,消息会直接由环信服务器发送给用户 B
2、如果用户 B 为离线状态,也就是说用户 B 没有和环信服务器建立连接,那么这个消息会添加到一个离线的消息队列,
当用户 B 重新登录后,就会去拉取离线的消息。
3、另外我们的 app 通常会有后台服务器,可以通过环信提供 的 REST API 来进行一些业务交互。
环信原理
环信基于 XMPP 协议,XMPP 基于 Socket,通过 Socket 保持长连接。