首页 > 其他分享 >xmppframework开发基础

xmppframework开发基础

时间:2022-12-27 10:37:09浏览次数:59  
标签:协议 XMPP 基础 xmppframework 开发 XEP 服务器 hosts com


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

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


xmppframework开发基础_客户端

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


xmppframework开发基础_XML_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一定要是[email protected]的形式


xmppframework开发基础_XML_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​

标签:协议,XMPP,基础,xmppframework,开发,XEP,服务器,hosts,com
From: https://blog.51cto.com/u_15923385/5971477

相关文章

  • solidity智能合约开发工具Atom及其插件安装
    Atom简介Atom代码编辑器支持Windows、Mac、Linux三大桌面平台,完全免费,并且已经在GitHub上开放了全部的源代码。开发团队将Atom称为一个“为21世纪创造的可配置的编辑器”,......
  • k03_计算机基础_dos命令行
    一、Windows自带的命令行操作界面(DOS命令)二、简介在学习java的时候,我们需要下载jdk,然后安装jdk,然后配置环境变量,然后会用命令行窗口检验是否安装成功,尽管最新的jdk版本......
  • Android游戏开发cocos2d-x调用Java层代码
    通过JNI调用准备工作:首先用VS工程导入$cocos2d_Root\cocos2dx\platform\android\jni\JniHelper.h接着导入$Java\jdk1.6.0_10\include\jni.h再导入$Java\jdk1.6.0_10\include......
  • Shell 编程基础
    一、Shell入门基础1.Shell脚本的执行(1)以相对路径的方式:[root@wanday1]#vim+haha.sh[root@wanday1]#chmod+xhaha.sh[root@wanday1]#./haha.sh(2)以绝对路径的方式......
  • 《DFZU2EG_4EV MPSoc之FPGA开发指南》第三十三章 OV5640摄像头HDMI显示实验​
    OV5640摄像头HDMI显示实验​在OV5640摄像头RGB-LCD显示实验中,成功地在LCD屏上实时显示出了摄像头采集的图像。本章将使用FPGA开发板实现对OV5640的数字图像采集并在HDMI显示......
  • 后台开发进阶:白话DDD从入门到实践
      尝试用大家都能听得懂的话,结合我们在增值业务中的具体实现,分享一下我们从入门到实践DDD的一些心得。0.写在前面的DDD(领域驱动设计)是EricEvans于2003......
  • 后台开发进阶:白话DDD从入门到实践
      尝试用大家都能听得懂的话,结合我们在增值业务中的具体实现,分享一下我们从入门到实践DDD的一些心得。0.写在前面的DDD(领域驱动设计)是EricEvans于2003......
  • 后台开发进阶:白话DDD从入门到实践
      尝试用大家都能听得懂的话,结合我们在增值业务中的具体实现,分享一下我们从入门到实践DDD的一些心得。0.写在前面的DDD(领域驱动设计)是EricEvans于2003......
  • C++基础
    输出语句#include<iostream>intmain(){std::cout<<"HelloWorld!\n";//输出HelloWorldstd::cout<<std::endl;//输出换行}如果要使用cout输出变量......
  • Java基础类String学习分析
    目录1String不可变性2不可变的好处3String+和StringBuilder效率差异4String,StringBufferandStringBuilder5String与JVM内存管理6Stringapi方法1String不可变......