码迷,mamicode.com
首页 > 其他好文 > 详细

XMPP登录应用

时间:2015-11-01 15:06:17      阅读:216      评论:0      收藏:0      [点我收藏+]

标签:

一、导入框架

1.XMMP框架,写入头文件,设置XMPPStreamDelegate代理,定义 XMPPStream *_xmppStream;

2.libresolv.dylib

3.libxml2.dylib

 

二、初始化XMPPStream

#pragma mark 初始化XMPPStream
-(void)setupXMPPStream{
    
    _xmppStream = [[XMPPStream alloc] init];
    
    // 设置代理
    [_xmppStream addDelegate:self delegateQueue:dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)];
}

 

三、连接到服务器

设置登录用户JID _xmppStream.myJID

设置服务器域名_xmppStream.hostName

设置端口_xmppStream.hostPort

连接

if(![_xmppStream connectWithTimeout:XMPPStreamTimeoutNone error:&err]){
        NSLog(@"%@",err);
    }


#pragma mark -XMPPStream的代理
四、 与主机连接成功
-(void)xmppStreamDidConnect:(XMPPStream *)sender{
    NSLog(@"与主机连接成功");
    
    // 主机连接成功后,发送密码进行授权
    [self sendPwdToHost];
}

 

五、连接到服务成功后,再发送密码授权、

[_xmppStream authenticateWithPassword:@"123456" error:&err];

 

 

六、授权成功
-(void)xmppStreamDidAuthenticate:(XMPPStream *)sender{
    NSLog(@"授权成功");
    
    [self sendOnlineToHost];
}

 

 

七、授权成功后,发送"在线" 消息

-(void)sendOnlineToHost{
    
    NSLog(@"发送 在线 消息");
    XMPPPresence *presence = [XMPPPresence presence];
    NSLog(@"%@",presence);
    
    [_xmppStream sendElement:presence];
    
    
}

 

 

八、离线

    // 1." 发送 "离线" 消息"
    XMPPPresence *offline = [XMPPPresence presenceWithType:@"unavailable"];
    [_xmppStream sendElement:offline];
    
    // 2. 与服务器断开连接
    [_xmppStream disconnect];

 

 

 

 

 

 

 

 

 

 

XMPP登录应用

标签:

原文地址:http://www.cnblogs.com/zhongxuan/p/4927657.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!