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能做什么 企业信息门户 应用程序工具集(文档库.工作空间.工作流.维 ...
随机推荐
- POJ 2111 DP+记录路径
题意: 思路: 类似滑雪 //By SiriusRen #include <cstdio> #include <cstring> #include <algorithm& ...
- 利用日志文件恢复MYSQL数据库
利用日志文件恢复MYSQL数据库 650) this.width=650;" onclick='window.open("http://blog.51cto.com/viewpic ...
- GetInvocationList 委托链表
最近发现C#程序初始化时在构造函数中,偶尔出现事件注册不成功.后查资料发现有GetInvocationList 这么一个获取类中的委托链表的函数, 使用方法如下: 1.在需委托的类(Class1)中增 ...
- HTML中行内元素与块级元素有哪些及区别
二.行内元素与块级元素有什么不同? 块级元素和行内元素的区别是,块级元素会占一行显示,而行内元素可以在一行并排显示. 通过样式控制,它们可以相互转换. 1.尺寸-块级元素和行内元素之间的一个重要的不同 ...
- SQlite-数据库的访问实例(转)
1.DBAdapter类: 1 package com.cnzcom.android.quickdial; import android.content.ContentValues; import a ...
- Mahout应用
不多说,直接上干货! Mahout作为Apache基金会的顶级项目之一,Mahout的应用也极其广泛,一般分为商业应用和学术应用. 在商业应用中,Adobe AMP公司使用Mahout的聚类算法把用户 ...
- Bitmap Image Graphics
Bitmap Image Graphics private void DrawImagePointF(PaintEventArgs e){ // Create image. Image new ...
- vue打包添加样式兼容前缀
在ios8 版本上的h5对flex的支持不太好,需要有兼容的写法. vue-cli自带了postCss autoprefixer 进行兼容处理,配置如下 在vue-loader.config.js中开 ...
- BZOJ4817: [Sdoi2017]树点涂色(LCT)
Description Bob有一棵n个点的有根树,其中1号点是根节点.Bob在每个点上涂了颜色,并且每个点上的颜色不同.定义一条路 径的权值是:这条路径上的点(包括起点和终点)共有多少种不同的颜色. ...
- C#中选中指定文件并读取类似ini文件的内容
一.背景 由于项目中需要去读取设备的配置信息,配置文件的内容和INI配置文件的格式类似,所以可以按照INI文件的方式来处理.涉及如何打开一个文件,获取打开的文件的路径问题,并读取选中的文件里边的内容. ...