首页 > 代码库 > XMPP使用简单介绍--登录
XMPP使用简单介绍--登录
在现阶段的通信服务中,各种标准都有。因此会出现无法实现相互连通,而XMPP(Extensible Message and presence Protocol)协议的出现,实现了整个及时通信服务协议的互通。有了这个协议之后。使用不论什么一个组织或者个人提供的即使通信服务,都可以无障碍的与其它的及时通信服务的用户进行交流。
比如google 公司2005年推出的Google talk就是一款基于XMPP协议的即时通信软件。以下我们就谈论一下怎样简单的使用XMPP
一、环境的搭建。本文採用的是openFire server |
1、下载最新openfire for mac版 http://www.igniterealtime.org/downloads/index.jsp
2、点击以下图标进行安装JDK 和server
3、启动后,点击Open Admin Consolebutton,自己主动在浏览器中打开本地web配置页面http://localhost:9090/setup/index.jsp然后进行server配置
4、将语言设置为中文就可以
5、设置server地址为本机
6、设置数据库
在运行此步骤之前须要做一些准备工作。
1创建数据库 :create database openfire;2导入openfire资源目录 resources/database下的数据表:source /usr/local/openfire/resources/database/openfire_mysql.sql
7、特性设置
8、设置openfireserver管理员的帐号和password
9、安装完毕。点击button登录
登录后界面例如以下
10、依照上面操作创建用户password
11、此时的准备工作基本完毕
二 导入XMPP |
1、将XMPP所有导入project
2、导入依赖包
因为动态库的存在因此须要做下面操作
三、到眼下为止我们的XMPP成功导入到项目中,以下我们開始编码实现用户登录 |
1、在代理里面引入包。而且定义流属性
2、初始化而且加入代理
#pragma mark 初始化 - (void)setUpStream{ if (_stream==nil) { //1 初始化stream _stream=[[XMPPStream alloc] init]; //2 加入代理 [_stream addDelegate:self delegateQueue:dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)]; } }
3、建立连接
#pragma mark 建立链接 //建立连接 - (void) connect{ //1 初始化 [self setUpStream]; //2 制定server地址,username,password NSString * userName=@"jereh@jereh.local"; NSString * hostName=@"jereh.local"; //3 设置JID和主机 XMPPJID * jid=[XMPPJID jidWithString:userName]; [self.stream setMyJID:jid]; [self.stream setHostName:hostName]; //4 開始连接 NSError * error; [self.stream connectWithTimeout:XMPPStreamTimeoutNone error:&error]; if (error) { NSLog(@"发送连接请求失败"); }else{ NSLog(@"发送连接请求成功"); } }
5、进行password验证,通过代理方法返回结果
#pragma mark 验证身份请求 -(void)xmppStreamDidConnect:(XMPPStream *)sender{ NSLog(@"链接成功"); //发送身份验证请求 NSString * pwd=@"jereh123"; [self.stream authenticateWithPassword:pwd error:nil]; } #pragma mark password正确 - (void) xmppStreamDidAuthenticate:(XMPPStream *)sender{ NSLog(@"身份验证成功"); //通知server上线 [self onLine]; } #pragma mark password错误 - (void)xmppStream:(XMPPStream *)sender didNotAuthenticate:(NSXMLElement *)error{ NSLog(@"身份验证失败"); }
6、開始连接
想要了解很多其它内容的小伙伴。能够点击查看源代码,亲自执行測试。
疑问咨询或技术交流。请增加官方QQ群: (452379712)
出处:http://blog.csdn.net/jerehedu/
本文版权归烟台杰瑞教育科技有限公司和博客园共同拥有。欢迎转载,但未经作者允许必须保留此段声明。且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
XMPP使用简单介绍--登录