XMPP是一个以XML为基础的开源的即时通讯协议。具有开放、标准、可用、分布式、安全、可扩展、多样性等优点。因为最近工作接触,在此进行记录。希望对你有帮助。
本文为XMPP开发的第一讲,记录XMPP的用户注册/登录。
环境配置
使用GitHub上现有的XMPPFramework,直接将其依赖加入到工程的Podfile中后,执行 pod install 下载:12345platform :ios, '8.0'use_frameworks!target 'LTIM' do pod 'XMPPFramework', '~> 3.7.0'end
登录流程
XMPP的登录主要需要了解 XMPPStreamDelegate 协议,用户登录分为以下几个步骤:
- 设置代理并激活
- 连接服务器
- 完成注册/认证
- 发送Presence状态数据
对应需要重点关注 XMPPStreamDelegate 协议中的以下方法,其他方法根据需要进行实现即可:
|
|
设置代理并激活
初始化 XMPPStream 对象,并设置 XMPPStreamDelegate 代理组件,创建重连组件并将其在 XMPPStream 对象中生效(激活)。
|
|
连接服务器
使用 XMPPJID 连接到服务器,注意此处需要设置服务器的端口号和IP地址(hostName)。
|
|
需要说明的一点是:jid可以是已经有账户和待注册账户,通常形式为 “name@domain”
完成注册/认证
具体注册/认证是看你调用了XMPPStream的方法。
|
|
在执行注册/认证方法后,通过协议回调查看执行结果,例如登录:
|
|
发送Presence用户状态数据
用户登录成功后,需要发送表示用户状态 XMPPPresence 数据
|
|
好了,本节就讲这些,下一节讲述:XMPPFramework之花名册获取。