深入学习
XMPP
协议
一.
XMPP
(协议简介)
XMPP
协议(
Extensible Messaging and PresenceProtocol
,可扩展
消息处理现场协议)是一种基于
XML
的协议,目的是为了解决及时
通信标准而提出来的,最早是在
Jabber
上实现的。它继承了在
XML
环境中灵活的发展性。因此,基于
XMPP
的应用具有超强的可扩展
性。
并且
XML
很易穿过防火墙,
所以用
XMPP
构建的应用不易受到
防火墙的阻碍。利用
XMPP
作为通用的传输机制,不同组织内的不
同应用都可以进行有效的通信。
二.
IM
(即时通讯软件简介)
Instant
Messenger
,及时通信软件,就是大家使用的
QQ
、
MSN
Messenger
和
Gtalk
等等。其中
Gtalk
就是基于
XMPP
协议的一个实
现,其他的则不是。当前
IM
几乎作为每个上网者必然使用的工具,
在国外的大型企业中有一些企业级的
IM
应用,但是其商业价值还没
完全发挥出来。设想既然
XMPP
协议是一个公开的协议,那么每个
企业都可以利用它来开发适合本身企业工作,提高自身生产效率的
IM
;甚至,你还可以在网络游戏中集成这种通信软件,不但让你可
以边游戏边聊天,
也可以开发出适合游戏本身的
IM
应用,
比如说一
些游戏关键场景提醒功能,
团队语音交流等等都可以基于
IM
来实现。
文档源于:
com.lilin.doyourimagine
三.本文主要内容
本文主要讲解在
android
使用
xmpp
协议进行即时通信,
所涉及
3
个主要的东西,它们是
openfire
、
smack
和
spark
,这个三个东东结合
起来就是完整的
xmpp
IM
实现,这里简单介绍一下这
3
个东东在下
文的作用:
openfire
主要是作为服务器,
负责管理客户端的通信连接,
以及
提供客户端一些通信信息和连接信息。
Smack
主要是
xmpp
协议的实现,提供了一套很好的
api
,所以
下面操作
xmpp
都是通过使用
smack
的
api
来实现,当然因为是在
android
里,所以使用的是
asmack
这个包,里面方法跟
smack
包差不
多。
Spark
是
IM
客户端的实现,其实就是使用了
smack
的
api
实现
的。
数据通讯具体实现的流程:
文档源于:
com.lilin.doyourimagine
四.开发具体配置环境:
1.
配置
openfire
服务器
Openfire
是一个强大的即时消息(
IM
)和聊天服务器,它实现了
XMPP
协议
,
可以使用
它轻易的构建高效率的即时通信服务器
.
其安装和部署都十分简单,并利用
Web
进行管理。单台服务器可支持上万并发用户,由于
是采用开放的
XMPP
协议,可以使用各种支持
XMPP
协议的
IM
客户端软件登陆服务。
安装前准备工作:
一:
Java
运行环境(已安装
则可跳过此步骤)
官方下载地址:
http://www.oracle.com/technetwork/java/javase/downloads/index.html
二:数据库(之前已安装
则可跳过此步骤)
数据库可以使用
DB2,Oracle,MySQL,PostgreSQL,SQL Server
等其中任意一种
安装前准备工作完成后:
一:建立数据库
a.
建立数据库,记下数据库名,如
OpenfireServer
。
b.
在数据库管理系统下建立新用户,如
OpenfireUser
。
选择
SQL server
身份验证,把强制密码过期的勾去掉,只勾上强制实施密码策略。
在下面的数据库下拉列表中选择
OpenfireServer
,然后确定即可。
c.
然后在
OpenfireServer
数据库目录下,在其安全性中,新建一个用户,用户名任取。
登录名
选择上面创建的
OpenfireUser
,架构
选择
db_owner,
数据库角色成员身份选择
db_owner,
二:安装
Openfire
a.
到官方下载最新版的
Openfire
安装包
官方网址为:
http://www.igniterealtime.org/projects/openfire/
b.
双击
Openfire
安装包开始安装
安装完毕后,会有提示框提示
是否登录,此时先放着不动
三:执行数据库脚本
文档源于:
com.lilin.doyourimagine
a.
到
Openfire
安装目录下:如
D:\Program Files\Openfire\resources\database
下面有几个数据库的
SQL
脚本,直接拖动到
SQL Server Studio
中执行,
执行前确保
可用数据库下拉列表
选中的是
OpenfireServer
。
b.
接着连接对象资源管理器,使用
SQL Server
身份验证方式,输入用户名
OpenfireUser
,
密码
尝试进行登录操作。若成功登陆,则证明数据库建立成功。
四:首次设置
Openfire
a.
点击
Openfire
提示框中
Launch Admin
按钮,进入首次设置页面
b.
语言
选择
简体中文
数据库
选择
标准数据库连接
选择相应的数据库驱动类型;
URL
一栏中,把
[hostname]
改成当前的主机名;
把
[database]
改成数据库名
OpenfireServer
;接着分号后面的
Appname
全部去掉;
点击
continue
,设置密码
——
>>
结束
五:重启
Openfire
然后登录管理页面,进行
Openfire
管理。
至此,恭喜您,
Openfire
部署安装完成。
配置成功如果以后
ip
地址变了,那肯定又是开不了,解决办法请移步:
http://blog.csdn.net/HappySheepherder/article/details/4707124
配置成功后,在服务器创建一个简单的用户来测试,然后安装
spark
,设置好服务器的
ip
与端口,使用刚才创建的用户登录,登录
OK
说明服务器成功搭建。
2.
客户端配置要求
(
1
)
android 2.2
平台及以上。
(
2
)
asmack-jse.jar
开发必须包。
(
3
)客户端
Eclispse
,服务端
Myeclipse IDE
开发环境。
五.具体实例展示
1.
先建一个
Android
项目。
2.
导入项目必须的
XMPP
协议
jar
包。
最后我们就可以利用
connection
进行连接,登录,注册
....
..
posted on 2013-02-19 18:06
游子 阅读(1466)
评论(0) 编辑 收藏 引用 所属分类:
软件