xmppframework是XMPP协议的一个objective-c实现.
要了解xmppframework, 从这里开始吧:https://github.com/robbiehanson/XMPPFramework/wiki/IntroToFramework
XMPPFramework中包含了一个简单的iPhone客户端实现。
在iPhoneXMPP中。
在测试这个Demo过程中要注意的地方是:
如上图要设置HostName(如果服务器域名是对外可见的应该不用)。
我测试时,因为我是自己建的openfire服务器,设置的服务器名称是没有登记的。
所以需要告诉系统怎么找到这个服务器 -- 在hosts文件中添加ip server
例如:125.216.241.179 scutlab.com
hosts文件的位置:c:\WINDOWS\system32\drivers\etc\hosts (windows) \etc\hosts (mac)
设置完hosts文件后,ping server看看,如果能ping通,说明可以找到服务器了。
另外需要注意的地方是jid一定要是[email protected]的形式
XMPPFramework目前只实现了几个常用到的扩展。包括
协议 | 协议简介 |
XEP-0009 | 在两个XMPP实体间传输XML-RPC编码请求和响应 |
XEP-0006 | 使能与网络上某个XMPP实体间的通信 |
XEP-0045 | 多人聊天相关协议 |
XEP-0054 | 名片格式的标准文档 |
XEP-0060 | 提供通用公共订阅功能 |
XEP-0065 | 两个XMPP用户之间建立一个带外流,主要用于文件传输 |
XEP-0082 | 日期和时间信息的标准化表示 |
XEP-0085 | 聊天对话中通知用户状态 |
XEP-0100 | 表述了XMPP客户端与提供传统的IM服务的代理网关之间交换的最佳实践 |
XEP-0115 | 广播和动态发现客户端、设备、或一般实体能力。 |
XEP-0136 | 为服务端备份和检索XMPP消息定义机制和偏好设置 |
XEP-0153 | 用于交换用户头像 |
XEP-0184 | 消息送达回执协议 |
XEP-0199 | XMPP ping 协议 |
XEP-0202 | 用于交换实体间的本地时间信息 |
XEP-0203 | 用于延迟发送 |
XEP-0224 | 引起另一个用户注意的协议 |
一份很好的教程:Building a Jabber Client for iOS
开发中常要涉及到XML的操作,这是NSXMLElement API文档 https://developer.apple.com/library/mac/#documentation/cocoa/reference/Foundation/Classes/NSXMLElement_Class/Reference/Reference.html
标签:协议,XMPP,基础,xmppframework,开发,XEP,服务器,hosts,com From: https://blog.51cto.com/u_15923385/5971477