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能做什么 企业信息门户 应用程序工具集(文档库.工作空间.工作流.维 ...
随机推荐
- 7.Web Service 调用天气代码
1. 2500多个城市天气预报 WEB服务公用事业 Endpoint:http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx Disco: ...
- windows下gopath设置
下载了go语言的安装包, 然后安装, 装完了需要设置三个地方: 1. 在windows的PATH变量中添加go的可执行文件所在的目录: PATH=C:\Go\bin;其他设置; 2. 设置 GOROO ...
- OpenCV —— HighGUI
分为:硬件相关部分,文件部分以及图形用户接口部分 创建窗口 —— cvNamedWindow 若设置成 CV_WINDOW_AUTOSIZE 窗口大小会随着图像的载入而根据图像大小调整,用户没办法手动 ...
- HDU 4007 Dave(离散化)
Dave Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65768/65768 K (Java/Others)Total Submis ...
- 原生JS实现页面内定位
需求:点击跳转到页面指定位置 <div id="test">点击跳转到此处</div> [法一]: 利用a标签的锚点跳转 <a href=" ...
- Jenkins学习总结(2)——Jenkins+Maven进行Java项目持续集成
最近配置了Jenkins服务器,记录下基本过程.(当然还遇到了若干小问题,兵来将挡水来土掩就是了) Jenkins安装 安装Tomcat 从Jenkins官网下载jenkins.war文件.官网地址: ...
- VFS相关内容
http://blog.csdn.net/icyfire0105/article/details/1899927 VFS是一个软件层,用来处理与Unix标准文件系统相关的所有系统调用,是用户应用程序与 ...
- 解决配置Ubuntu中vnc远程显示灰屏
解决配置Ubuntu中vnc远程显示灰屏a. 缺失图形化工具b. ~/.vnc/xstartup 权限不对1. Ubuntu 16.04 安装 VNC 及 Mate 桌面环境https://www. ...
- Android学习笔记进阶15之Shader渲染
Android提供的Shader类主要是渲染图像以及一些几何图形. Shader有几个直接子类: BitmapShader : 主要用来渲染图像 LinearGradient :用来进行线性渲 ...
- java初始化过程中成员变量
package day01; class Base{ int j; //1.j=0 Base(){ add(1); //2.调用子类add()方法 System.out.println(j); //4 ...