XMPP使用简介--登录
2015-07-01 10:02
323 查看
在现阶段的通信服务中,各种标准都有,因此会出现无法实现相互连通,而XMPP(Extensible Message and presence Protocol)协议的出现,实现了整个及时通信服务协议的互通。有了这个协议之后,使用任何一个组织或者个人提供的即使通信服务,都能够无障碍的与其他的及时通信服务的用户进行交流。例如google 公司2005年推出的Google talk就是一款基于XMPP协议的即时通信软件。下面我们就谈论一下如何简单的使用XMPP
1、下载最新openfire for mac版 http://www.igniterealtime.org/downloads/index.jsp
2、点击下面图标进行安装JDK 和服务器
![](http://images0.cnblogs.com/blog2015/708076/201507/010934074933040.png)
3、启动后,点击Open Admin Console按钮,自动在浏览器中打开本地web配置页面http://localhost:9090/setup/index.jsp然后进行服务器配置
4、将语言设置为中文即可
![](http://images0.cnblogs.com/blog2015/708076/201507/010935047906668.png)
5、设置服务器地址为本机
![](http://images0.cnblogs.com/blog2015/708076/201507/010936490875504.png)
6、设置数据库
![](http://images0.cnblogs.com/blog2015/708076/201507/010937268846490.png)
在执行此步骤之前需要做一些准备工作,
![](http://images0.cnblogs.com/blog2015/708076/201507/010940390403620.png)
8、设置openfire服务器管理员的帐号和密码
![](http://images0.cnblogs.com/blog2015/708076/201507/010942254312083.png)
9、安装完成,点击按钮登录
![](http://images0.cnblogs.com/blog2015/708076/201507/010943021491499.png)
登录后界面如下
![](http://images0.cnblogs.com/blog2015/708076/201507/010944106814461.png)
10、按照上面操作创建用户密码
![](http://images0.cnblogs.com/blog2015/708076/201507/010945441346377.png)
11、此时的准备工作基本完成
1、将XMPP全部导入工程
![](http://images0.cnblogs.com/blog2015/708076/201507/010950597908244.png)
2、导入依赖包
![](http://images0.cnblogs.com/blog2015/708076/201507/010951415713313.png)
由于动态库的存在因此需要做以下操作
![](http://images0.cnblogs.com/blog2015/708076/201507/010952212285997.png)
![](http://images0.cnblogs.com/blog2015/708076/201507/010953161348555.png)
1、在代理里面引入包,并且定义流属性
![](http://images0.cnblogs.com/blog2015/708076/201507/010954441184877.png)
2、初始化并且添加代理
3、建立连接
5、进行密码验证,通过代理方法返回结果
6、开始连接
![](http://images0.cnblogs.com/blog2015/708076/201507/010957381962662.png)
想要了解更多内容的小伙伴,可以点击查看源码,亲自运行测试。
疑问咨询或技术交流,请加入官方QQ群:
![](http://pub.idqqimg.com/wpa/images/group.png)
(452379712)
作者:杰瑞教育
出处:http://blog.csdn.net/jerehedu/
本文版权归烟台杰瑞教育科技有限公司和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
一、环境的搭建,本文采用的是openFire 服务器 |
2、点击下面图标进行安装JDK 和服务器
![](http://images0.cnblogs.com/blog2015/708076/201507/010934074933040.png)
3、启动后,点击Open Admin Console按钮,自动在浏览器中打开本地web配置页面http://localhost:9090/setup/index.jsp然后进行服务器配置
4、将语言设置为中文即可
![](http://images0.cnblogs.com/blog2015/708076/201507/010935047906668.png)
5、设置服务器地址为本机
![](http://images0.cnblogs.com/blog2015/708076/201507/010936490875504.png)
6、设置数据库
![](http://images0.cnblogs.com/blog2015/708076/201507/010937268846490.png)
在执行此步骤之前需要做一些准备工作,
1创建数据库 :create database openfire;
2导入openfire资源文件夹 resources/database下的数据表:source /usr/local/openfire/resources/database/openfire_mysql.sql
7、特性设置
![](http://images0.cnblogs.com/blog2015/708076/201507/010940390403620.png)
8、设置openfire服务器管理员的帐号和密码
![](http://images0.cnblogs.com/blog2015/708076/201507/010942254312083.png)
9、安装完成,点击按钮登录
![](http://images0.cnblogs.com/blog2015/708076/201507/010943021491499.png)
登录后界面如下
![](http://images0.cnblogs.com/blog2015/708076/201507/010944106814461.png)
10、按照上面操作创建用户密码
![](http://images0.cnblogs.com/blog2015/708076/201507/010945441346377.png)
11、此时的准备工作基本完成
二 导入XMPP |
![](http://images0.cnblogs.com/blog2015/708076/201507/010950597908244.png)
2、导入依赖包
![](http://images0.cnblogs.com/blog2015/708076/201507/010951415713313.png)
由于动态库的存在因此需要做以下操作
![](http://images0.cnblogs.com/blog2015/708076/201507/010952212285997.png)
![](http://images0.cnblogs.com/blog2015/708076/201507/010953161348555.png)
三、到目前为止我们的XMPP成功导入到项目中,下面我们开始编码实现用户登录 |
![](http://images0.cnblogs.com/blog2015/708076/201507/010954441184877.png)
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 制定服务器地址,用户名,密码 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、进行密码验证,通过代理方法返回结果
#pragma mark 验证身份请求 -(void)xmppStreamDidConnect:(XMPPStream *)sender{ NSLog(@"链接成功"); //发送身份验证请求 NSString * pwd=@"jereh123"; [self.stream authenticateWithPassword:pwd error:nil]; } #pragma mark 密码正确 - (void) xmppStreamDidAuthenticate:(XMPPStream *)sender{ NSLog(@"身份验证成功"); //通知服务器上线 [self onLine]; } #pragma mark 密码错误 - (void)xmppStream:(XMPPStream *)sender didNotAuthenticate:(NSXMLElement *)error{ NSLog(@"身份验证失败"); }
6、开始连接
![](http://images0.cnblogs.com/blog2015/708076/201507/010957381962662.png)
想要了解更多内容的小伙伴,可以点击查看源码,亲自运行测试。
疑问咨询或技术交流,请加入官方QQ群:
![](http://pub.idqqimg.com/wpa/images/group.png)
(452379712)
作者:杰瑞教育
出处:http://blog.csdn.net/jerehedu/
本文版权归烟台杰瑞教育科技有限公司和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
相关文章推荐
- cmake使用示例与整理总结
- Guice 学习(二)构造器注入(Constructor Inject)
- 数据库大字存储
- BDB的Btree结构以及影响Btree性能的各种配置和方法
- UILabel 整理
- 搜索广告与广告网络Demand技术-流式计算平台
- 【转载】SLB技术原理浅析
- 开源协议介绍
- 怎么扒JS代码?
- Linux SMP负载均衡
- iOS第三方支付-微信支付
- 热力学第二定律的社会学思考
- 3.抽象工厂模式
- 【代码规范】 常用规范
- Eclipse将引用了第三方jar包的Java项目打包成jar文件的两种方法
- 获取配置类中的文件信息
- 免费讲座:用知识管理方法高效培养人才
- 免费讲座:用知识管理方法高效培养人才
- MySQL常用函数
- SlidingMenu简介