码迷,mamicode.com
首页 > 移动开发 > 详细

XMPP 编程 iOS平台(一) 配置 与 登陆

时间:2014-12-23 15:36:25      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:ios   xmpp   登陆   退出   配置   

这里记录下我配置XMPP的过程

首先下载XMPP:https://github.com/robbiehanson/XMPPFramework/

将如下文件考入过程中:

技术分享

添加依赖框架

技术分享

添加XML框架的依赖路径:

技术分享

这样就配置完了。下面说下如何进行登陆。当然服务器要自己先搭好,如果没有搭好可以看前一篇

登陆代码:

@interface XMPPModel()<XMPPStreamDelegate>

@property (nonatomic , strong) XMPPStream *xmppStream;


@end

- (BOOL) connect
{
    [self setupStream];
    //这里为了减少代码数量所以直接在这里写死了。大家测试时直接修改就好。
    // 从本地取得用户名和密码和服务器地址
    
    NSString *userId = @"dujia"; //用户名
    NSString *password = @"zxcvbnm"; //密码
    NSString *server = @"10.86.102.70"; //服务器的IP
    
    
    
    
    if (![_xmppStream isDisconnected]) {
        return  YES;
    }
    
    //  下面3个参数分别是  用户名  domain 域名   resource 这个ming
    XMPPJID *jid = [XMPPJID jidWithUser:userId domain:@"shenqi" resource:@"Ework"];
    
    [_xmppStream setMyJID:jid];
    [_xmppStream setHostName:server];
    [_xmppStream setHostPort:5222];
    
    
    NSError *error = nil;
    if (![_xmppStream connectWithTimeout:3.0 error:&error]) {
        NSLog(@"%@",error.userInfo);
    }
    return YES;
}


- (void)setupStream
{
    _xmppStream = [[XMPPStream alloc] init];
    [_xmppStream addDelegate:self delegateQueue:dispatch_get_main_queue()];
    
}

下面是连接成功的回调。在下面这步骤才验证密码:

- (void)xmppStreamDidConnect:(XMPPStream *)sender
{

    NSError *error = nil;
    if (![sender authenticateWithPassword:@"zxcvbnm" error:&error]) {
        NSLog(@"%@",error.userInfo);
    }
    

}

这样服务器页面会有如下显示:

技术分享

这样就登陆成功了。下面再说下退出。

- (void)goOffline
{
    XMPPPresence *presence = [XMPPPresence presenceWithType:@"unavailable"];
    [_xmppStream sendElement:presence];
    [_xmppStream disconnect];
}

代码下载:http://pan.baidu.com/s/1hqiUfmG


XMPP 编程 iOS平台(一) 配置 与 登陆

标签:ios   xmpp   登陆   退出   配置   

原文地址:http://blog.csdn.net/qqmcy/article/details/42102611

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