网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

xmppFramework

简介:

成都创新互联公司于2013年开始,是专业互联网技术服务公司,拥有项目网站设计制作、做网站网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元分宜做网站,已为上家服务,为分宜各地企业和个人服务,联系电话:18982081108

       xmppFramework是一个基于RFC-3920的实现。支持多线程和线程保护(用了GCD),同时通用于所有的ios开发设备的通信框架。

介绍:

       该框架主要分为两部分----The xmpp core和The extensions (roster, XEP's,etc)

        xmppcore是RFC-3920的实现。

xmppcore介绍:

         这部分中包含:      

    • XMPPStream

    • XMPPParser

    • XMPPJID

    • XMPPElement

    • XMPPIQ

    • XMPPMessage

    • XMPPPresence

    • XMPPModule

    • XMPPLogging

    • XMPPInternal

      这些类。

xmppstream类是开发者主要打交道的类,这个中包含了连接服务器,用户跟服务器的通信。

XMPPParser这个是一个内部类。主要用于解析。

XMPPJID这个用来标记用户。其中包含用户名和域名。

XMPPElement是XMPPIQ,XMPPMessage&XMPPPresence的基类。数据返回以后的处理。主要扩展实现了NSXMLElement,因此能查询到所有xml的元素。

XMPPModule提供了可插拔的扩展。

Elements: IQ, Message, & Presence

   这个是XMPPElement的扩展:

  •  XMPPIQ -> XMPPElement -> NSXMLElement -> NSXMLNode -> NSObject

  •  XMPPMessage -> XMPPElement -> NSXMLElement -> NSXMLNode -> NSObject

  •  XMPPPresence -> XMPPElement -> NSXMLElement -> NSXMLNode -> NSObject

另外NSXMLElement+XMPP提供了一些策略方法,方便对这些信息进行处理,如提取消息中得某变量:[elementattributeIntValueForName:@"age"];

XMPPStream 的配置

配置连接(以google邮件为例):

   第一步:配置用户的JID:

           xmppStream.myJID=[XMPPJIDjidWithString:@"user@gmail.com"];

   第二步:配置需要连接的服务器:

           xmppStream.hostName=@"myCompany.com";也可以是ip地址:

           xmppStream.hostName=@"192.168.2.27";xmpp会设置一个默认端口。(这步要是没        

           有,xmpp自动 连接myjid的域名)。

添加代理:

   xmpp使用的是多播代理:

       添加代理:[xmppStreamaddDelegate:selfdelegateQueue:dispatch_get_main_queue()];

       删除代理:[xmppStreamremoveDelegate:self];

添加模式

       这个实现了插拔扩展。如连接断了以后重连模式:

       xmppReconnect=[[XMPPReconnect alloc]init];

       [xmppReconnect activate:xmppStream];

       xmppReconnectaddDelegate:selfdelegateQueue:dispatch_get_main_queue()];

网络连接

       NSError*error=nil;

       if(![xmppStreamconnect:&error])

       {

           NSLog(@"Oops, I probably forgot something: %@",error);

       }

认证

       -(void)xmppStreamDidConnect:(XMPPStream*)sender

       {

           [xmppStreamauthenticateWithPassword:passworderror:NULL];

       }

       


分享文章:xmppFramework
当前地址:http://bjjierui.cn/article/gjsipc.html

其他资讯