通讯协议(框架)
说到传输协议,现在市面上比较常见的传输协议主要有四种:
基于Scoket原生:代表框架 CocoaAsyncSocket。
基于WebScoket:代表框架 SocketRocket。
基于MQTT:代表框架 MQTTKit。
基于XMPP:代表框架 XMPPFramework。
在使用XMPP的时候有没有什么困难
发送附件(图片,语音,文档...)时比较麻烦
XMPP框架没有提供发送附件的功能,需要自己实现
实现方法,把文件上传到文件服务器,上传成功后获取文件保存路径,再把附件的路径发送给好友
简单的说下环信的实现原理
环信是一个即时通讯的服务提供商
环信使用的是XMPP协议,它是再XMPP的基础上进行二次开发,对服务器Openfire和客户端进行功能模型的添加和客户端SDK的封装,环信的本质还是使用XMPP,基于Socket的网络通信
环信内部实现了数据缓存,会把聊天记录添加到数据库,把附件(如音频文件,图片文件)下载到本地,使程序员更多时间是花到用户体验体验上。
环信小结:
一、发送消息的带上头像和昵称可以实现本地聊天列表同步
二、自定义IM卡片需要自定义UI
三、在聊天页面需要通知对方更新UI可以使用CMD消息