xmppframework开发基础
xmppframework是XMPP协议的一个objective-c实现.
要了解xmppframework, 从这里開始吧:https://github.com/robbiehanson/XMPPFramework/wiki/IntroToFramework
XMPPFramework中包括了一个简单的iPhoneclient实现。

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

如上图要设置HostName(假设server域名是对外可见的应该不用)。
我測试时,由于我是自己建的openfireserver,设置的server名称是没有登记的。

所以须要告诉系统怎么找到这个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眼下仅仅实现了几个经常使用到的扩展。包括
|
协议 |
协议简单介绍 |
|
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 |
引起还有一个用户注意的协议 |
一份非常好的教程: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开发基础介绍
1 使用iPhoneXMPP实例 2 修改xmppstream设置 3 基础协议的介绍 协议 协议简介 XEP-0009 在两个XMPP实体间传输XML-RPC编码请求和响应 XEP-0006 使能与 ...
- .NET基础拾遗(5)多线程开发基础
Index : (1)类型语法.内存管理和垃圾回收基础 (2)面向对象的实现和异常的处理基础 (3)字符串.集合与流 (4)委托.事件.反射与特性 (5)多线程开发基础 (6)ADO.NET与数据库开 ...
- .NET基础拾遗(6)ADO.NET与数据库开发基础
Index : (1)类型语法.内存管理和垃圾回收基础 (2)面向对象的实现和异常的处理 (3)字符串.集合与流 (4)委托.事件.反射与特性 (5)多线程开发基础 (6)ADO.NET与数据库开发基 ...
- IOS开发基础知识碎片-导航
1:IOS开发基础知识--碎片1 a:NSString与NSInteger的互换 b:Objective-c中集合里面不能存放基础类型,比如int string float等,只能把它们转化成对象才可 ...
- JavaEE开发基础
1 JavaEE简介 Java平台有三个版本,分别是JavaSE(Java Platform, Standard Edition),JavaEE(Java Platform, Enterprise E ...
- ASP.Net开发基础温故知新学习笔记
申明:本文是学习2014版ASP.Net视频教程的学习笔记,仅供本人复习之用,也没有发布到博客园首页. 一.一般处理程序基础 (1)表单提交注意点: ①GET通过URL,POST通过报文体: ②需在H ...
- 从零3D基础入门XNA 4.0(1)——3D开发基础
[题外话] 最近要做一个3D动画演示的程序,由于比较熟悉C#语言,再加上XNA对模型的支持比较好,故选择了XNA平台.不过从网上找到很多XNA的入门文章,发现大都需要一些3D基础,而我之前并没有接触过 ...
- Android 开发基础及环境配置
2011年买了第一部安卓操作系统的手机,当时势头正盛的HTC不可思议(incredible),当时的想法就是想学习下智能手机开发,但是由于各种原因,客观上是公司的项目太忙了,忙于项目管理.团队建设.客 ...
- 【SharePoint学习笔记】第1章 SharePoint Foundation开发基础
SharePoint Foundation开发基础 第1章 SharePoint Foundation开发基础 SharePoint能做什么 企业信息门户 应用程序工具集(文档库.工作空间.工作流.维 ...
随机推荐
- es8 --- 新特性
ES8尚未发布(2017年1月),下面是它已经完成起草的一些特性: Object.values() Object.entries() padStart() padEnd() Object.getOwn ...
- #学习笔记#——JavaScript 数组部分编程(五)
11.为数组 arr 中的每个元素求二次方.不要直接修改数组 arr,结果返回新的数组 function square(arr) { var resultArr=new Array(); for(va ...
- centos配置tomcat编辑修改
https://jingyan.baidu.com/article/6525d4b1382f0aac7d2e9421.html
- python3 requests 模块 json参数和data参数区别
json 表示使用application/json方式提交请求 data 使用application/form-urlencode方式提交请求
- 用Ngen指令加快C#程序的启动速度
用Ngen指令加快C#程序的启动速度 由于C#是使用实时 (JIT) 编译器编译原始程序集.因此第一次运行C#程序(或Dll)时,程序的启动非常慢.为了提高用户的体验,可以用Microsoft的供的本 ...
- hive load文件第一个字段为NULL
在hive中,通常须要载入外部数据源.load文件时.第一个字段会出现NULL. 比如: 1.运行load语句: LOAD DATA LOCAL INPATH 'test.txt' OVERWRITE ...
- C语言之文件操作06——写数据到文本文件遇0停止
//文件 /* =============================================================== 题目:输入10个篮球运动员的身高数据(cm)保存至D盘文 ...
- 3.JPA开发
转自:https://blog.csdn.net/aspnetandjava/article/details/7034779 1. 什么是JPA 1. JPA(Java Persistence API ...
- 使用SqlBulkCopy进行批量数据插入
Dim dt As DataTable = New DataTable() dt.Columns.Add("DtCostProductRuleGUID", GetType(Guid ...
- Reentrant 可重入解释
作者:知乎用户链接:https://www.zhihu.com/question/37168009/answer/88086943来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注 ...