1、使用的融云的IM(Instant Messaging)服务;其实我只是做了连个用户之间发送消息和图片的功能,还是有很多功能要完善的。
2、根据您的 App 应用场景选择基于 IMKit 开发还是 IMLib 开发。
IMKit 集成了会话界面,并且提供了丰富的自定义功能,我们推荐首次接触融云的客户直接使用 IMKit 来快速集成和开发。
IMLib 提供了基础的通信能力,较轻量,适用于对 UI 有较高订制需求的开发者,但您需要自己去实现大量的界面和功能。
3、即时消息的实现原理(自己的理解):
首先说一下Token
Token 即用户令牌,相当于您APP上当前用户连接融云的身份凭证。每个用户连接服务器都需要一个 Token,用户更换即需要更换 Token。每次初始化连接服务器时,都需要向服务器提交 Token。
每个用户都有一个Token,每个用户也都有一个userId,两者都算是区别不同用户的标识。
实现原理:
A用户的登录需要通过与AppServer的验证,验证Token或者userId通过后,即可拥有发送消息的权限
A用户发送消息,需要通过AppServer的验证,如好友关系等,通过后即可发送消息,发送的消息会保存到RongCloudServer,再由RongCloudServer发送给B用户
同时B用户的登录也需要……..
B用户接收的消息实际上是A用户发过来,由RongCloudServer邮递的消息。