xmppframework是XMPP协议的一个objective-c实现.

要了解xmppframework, 从这里開始吧:https://github.com/robbiehanson/XMPPFramework/wiki/IntroToFramework

XMPPFramework中包括了一个简单的iPhoneclient实现。

xmppframework开发基础_github

在iPhoneXMPP中。

在測试这个Demo过程中要注意的地方是:

xmppframework开发基础_ios_02

如上图要设置HostName(假设server域名是对外可见的应该不用)。

我測试时,由于我是自己建的openfireserver,设置的server名称是没有登记的。

xmppframework开发基础_iphone_03

所以须要告诉系统怎么找到这个server -- 在hosts文件里加入ip server

比如:125.216.241.179  scutlab.com

hosts文件的位置:c:\WINDOWS\system32\drivers\etc\hosts (windows)  \etc\hosts (mac)

设置完hosts文件后,ping server看看。假设能ping通,说明能够找到server了。

另外须要注意的地方是jid一定要是user@example.com的形式

xmppframework开发基础_ios_04

XMPPFramework眼下仅仅实现了几个经常使用到的扩展。包括


协议



协议简单介绍



XEP-0009



在两个XMPP实体间传输XML-RPC编码请求和响应



XEP-0006



使能与网络上某个XMPP实体间的通信



XEP-0045



多人聊天相关协议



XEP-0054



名片格式的标准文档



XEP-0060



提供通用公共订阅功能



XEP-0065



两个XMPP用户之间建立一个带外流,主要用于文件传输



XEP-0082



日期和时间信息的标准化表示



XEP-0085



聊天对话中通知用户状态



XEP-0100



表述了XMPPclient与提供传统的IM服务的代理网关之间交换的最佳实践



XEP-0115



广播和动态发现client、设备、或一般实体能力。



XEP-0136



为服务端备份和检索XMPP消息定义机制和偏好设置



XEP-0153



用于交换用户头像



XEP-0184



消息送达回执协议



XEP-0199



XMPP ping 协议



XEP-0202



用于交换实体间的本地时间信息



XEP-0203



用于延迟发送



XEP-0224



引起还有一个用户注意的协议