一、即时通讯
即时通讯(Instant Messaging) 是目前Internet上最为流行的通讯方式,各种各样的即时通讯软件也层出不穷,服务提供商业提供了越来越丰富的通讯服务功能。
XMPP(XML,Messages,Presence,Protocol)是基于可扩展标记语言(XML)的协议,可用于即时通讯(IM)。—可扩展消息处理现场协议
XMPP优点:
1.开放
XMPP协议是由JSF开源社区组织开发的,不属于任何的机构和个人,从根本上保证了其开放性。
2.标准
互联网工程工作组将XMPP于2002年正式列为认可的实时通讯及Presence技术。
3.分布式的网络架构
XMPP协议虽然是基于Client/Server架构,但是XMPP协议本身并没有这样的限制,网络的架构和电子邮件十分相似,但没有结合任何特定的网络架构,适用范围非常广泛。
4.XMOO协议具有良好的扩展性
基于XML建立起来的应用具有良好的语义完整性和扩展性
5.XMPP 具有很好的弹性
XMPP除了可用在即时通信的应用程序,还能用在网络管理、内容供稿、协同工具、档案共享、游戏、远端系统监控等。
6.安全性
XMPP在Client——to——Server通信和Server-to_Serve通信中都使用TLS(Trsport Layer Security协议作为通信通道的加密方法,保证通信的安全。
XMPP实现即时通讯
原理
实现即时铜须至少需要一个服务器端、两个客户端。
下面我们准备需要的环境:
1、XMPP服务器 2、XMPP客户端 (辅助调试)
XMPP环境搭建
搭建XMPP环境需要几个辅助工具:
1、XAMPP
XAMPP (Apache +MySQL +php +PERL)是一个功能强大的建XAMPP 软件站继承软件包
许多人通过他们自己的经验认识到安装Apache服务器是件不容易的事儿。如果您想添加MySQL、PHP和Perl,那就更难了。XAMPP是一个易于安装且包含MySQL、PHP和Perl的Apache发行版。XAMPP的确非常容易安装和使用:只需下载,解压缩,启动即可。
搭建XMPP环境需要几个辅助工具:
2、Openfire()
Openfire采用java开发,开源的实时协作(RTC)服务器基于XMPP(jabber)协议。Openfire安装和使用都非常简单,并利用Web进行管理。单台服务器可支持上万并发用户。
Openfire服务是基于JAVA语言写的,你的电脑必须要有java运行环境。安装JKD成功后运行Openfire
此时需要创建数据库以供使用
构建数据库结束,需要导入表,此时要去openfire文件中获取需要的文件,位置如下
XMPP客户端环境搭建
搭建XMPP客户端使用spake,辅助调试:XMPP 系统的一个设计标准是必须支持简单的客户端。事实上,XMPP系统架构对客户端只有很少的几个限制。一个XMPP客户端必须支持的功能有:
1.通过TCP套接自与XMPP服务器进行通信;
2.解析组织好的XML
信息包;
3.理解消息数据类型
环境配置结束。
工程中添加XMPP
1、创建工程
2、导入XMPP框架
3、引入XMPP需要的依赖库libxml libresolv
4、设置路径/uer/include/libxml2
登录
1.登录、注册作为一个模块,使用StoryBoard搭建框架
实现单例
在登录页面
登录的.m
注册页面代码