xmppframework开发基础

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了xmppframework开发基础相关的知识,希望对你有一定的参考价值。


xmppframework是XMPP协议的一个objective-c实现.
要了解xmppframework, 从这里开始吧:​​​https://github.com/robbiehanson/XMPPFramework/wiki/IntroToFramework​

XMPPFramework中包含了一个简单的iPhone客户端实现。


xmppframework开发基础_服务器

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


xmppframework开发基础_服务器_02

如上图要设置HostName(如果服务器域名是对外可见的应该不用)。
我测试时,因为我是自己建的openfire服务器,设置的服务器名称是没有登记的。


xmppframework开发基础_XML_03


所以需要告诉系统怎么找到这个服务器 -- 在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一定要是user@example.com的形式


xmppframework开发基础_客户端_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

表述了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​

以上是关于xmppframework开发基础的主要内容,如果未能解决你的问题,请参考以下文章

iOS开发--XMPPFramework--好友列表

iOS开发--XMPPFramework--好友模块

开发环境测试发送定位请求时没有回执

iOS开发之使用XMPPFramework实现即时通信

XMPPFramework - 如何向 XMPPUserCoreDataStorageObject 添加自定义属性?

如何通过 XMPPFramework 添加好友