XMPP 编程 iOS平台(一) 配置 与 登陆
这里记录下我配置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
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。