XMPPFramework iOS架构图
XMPPFramework 的 iOS 架构图挺清晰的,拿来理解模块分工方便。框架核心是XMPPStream,搞定和服务器的连接,像聊天室、联系人这些功能,全靠你往里面挂模块。XMPPRoom、XMPPRoster都属于模块化的扩展,直接丢进去就能跑。
模块机制也蛮灵活,想加功能,继承下XMPPModule
就完事。多预设的扩展,比如XEP-0045搞群聊,XEP-0199看网络状况,集成起来不费劲。开发 IM 系统时,真挺省事的。
网络通信这块用的是GCDAsyncSocket,异步 I/O,性能还不错。尤其在收发消息比较频的时候,响应也快,不容易卡。搭配系统自带的 GCD,写起来也比较顺手。
用户信息这一块,XMPPvCardTempModule和XMPPvCardAvatarModule负责 vCard 和头像。想让用户能互换资料,直接用这俩模块就行,别自己造轮子了。
还有几个 XMPP 协议里的“基本功”组件,像XMPPPresence
(上线/离线)、XMPPMessage
(发消息)、XMPPIQ
(数据交互),用得多了你就熟了,都是些常规操作。
认证这块支持Plain
和SCRAM-SHA1
这些,搞安全通信足够用了。你还可以用Delegate 方法监听事件,比如连接断了、消息到了,写逻辑也方便。
开发前看一下架构图,能省下不少摸索的时间。如果你打算做即时通讯类 App,用这个框架,结构清楚、模块好用,调试也轻松。
架构图参考这里的图片就挺合适的:mock.png
。再想深入点,可以看看这些相关文章:
2.5MB
文件大小:
评论区