基于openfire+smack开发Android即时聊天应用[一]---openfire安装部署
2015-10-30 16:12
337 查看
Java领域的即时通信解决方案可以考虑基于xmpp协议的openfire+smack+spark来实现,都是开源的。最近一直在研究这个,也做了一个简单的Android即时聊天客户端,支持文本、图片、语音消息。
欢迎大家访问我的个人博客:http://ittiger.cn
大家自行到百度google上去补脑吧。
openfire是基于XMPP 协议的即时通信的服务器端的一个实现,如果你要实现一个简单的点对点通信或是简单的群聊,你完全可以使用该服务openfire本身提供的服务而不需要编写一行服务端的代码,非常方便。同时openfire还支持插件的扩展,如果你需要丰富增加服务端的功能,你可以基于openfire进行插件二次开发,或者直接修改openfire的源码实现。
smack是XMPP传输协议的Java实现,提供了一套API接口(类似于JDK中的HttpUrlConnection提供Http连接请求),它是连接openfire服务、发送通信信息的桥梁。
spark是基于smack实现的一个XMPP即时通信客户端(PC端的),spark貌似也是可以进行插件扩展的。
官网:http://www.igniterealtime.org/,我目前用的都是最新版本的openfire3.10.2,smack4.1.4
在smack4.1版本之前,smack本身是不支持Android平台的,不过当时有一个替代品asmack,github地址:https://github.com/flowdalic/asmack,在smack4.1之前我们可以通过asmack来配合openfire来实现Android端的即时通信应用,asmack和smack貌似api都差不多(我没看过asmack)。smack4.1之后就开始支持Android平台了,所以现在可以放弃asmack了。
去官网上下载最新的Openfire安装包,我下载的是不包含JDK的压缩包(Does not include Java JRE),解压就可以用了,前提是你已经装了JDK了,而且JDK版本必须是1.7或以上的版本,Openfire不支持JDK6,解压之后在Openfire的根目录bin目录下执行openfire.exe即可,启动之后如下图
在启动服务配置之前,先在你的数据库中创建一个名为openfire的数据库(支持多种数据库),点击图中的Launch Admin即会在浏览器上打开Openfire的配置界面,如下图:
上图中选择简体中文,然后继续:
上图中配置域,最好配置为你的服务器ip地址或者是域名,其他的默认不管,然后继续:
上图中选择标准数据库连接,继续:
上图中选择你的数据库类型,然后在数据库URL中填写正确的连接字符串,再填上你的数据库用户名和密码,然后继续
上图中直接默认选择初始设置,然后继续:
上图中填上管理员账户admin的邮件地址,然后填上该管理员账户的密码,然后继续:
到上图即表示你的Openfire服务安装配置完成,然后点击登录后进入到管理员登录界面:
Openfire默认的管理员账户为admin,秘密即为上面你设置的密码,登录成功之后,你可以通过这个Openfire管理平台管理该服务商所有的账户信息,服务器信息等。
在官网上下载最新的源码安装包(如: openfire_3_10_2.tar.gz ),我选择的也是不包含jdk的源码安装包,将该包上传至服务器某个目录下,在该目录下执行命令 tar -zxvf openfire_3_10_2.tar.gz,解压完成后切换到Openfire/bin目录下执行命令: ./openfire start 启动Openfire服务,然后在你自己的pc机浏览器上打开http://服务器ip:9090,即会进入Openfire的配置界面,前提是必须准备好一个数据库,配置过程与Windows下的配置过程一样,请参考上面的操作步骤。
OK,Openfire服务的安装配置就介绍完了,下面一篇我就开始介绍smack的用法。
write by laohu
2015-10-30 15:59:54
欢迎大家访问我的个人博客:http://ittiger.cn
1.XMPP协议
大家自行到百度google上去补脑吧。
2.openfire、smack、spark
openfire是基于XMPP 协议的即时通信的服务器端的一个实现,如果你要实现一个简单的点对点通信或是简单的群聊,你完全可以使用该服务openfire本身提供的服务而不需要编写一行服务端的代码,非常方便。同时openfire还支持插件的扩展,如果你需要丰富增加服务端的功能,你可以基于openfire进行插件二次开发,或者直接修改openfire的源码实现。smack是XMPP传输协议的Java实现,提供了一套API接口(类似于JDK中的HttpUrlConnection提供Http连接请求),它是连接openfire服务、发送通信信息的桥梁。
spark是基于smack实现的一个XMPP即时通信客户端(PC端的),spark貌似也是可以进行插件扩展的。
官网:http://www.igniterealtime.org/,我目前用的都是最新版本的openfire3.10.2,smack4.1.4
在smack4.1版本之前,smack本身是不支持Android平台的,不过当时有一个替代品asmack,github地址:https://github.com/flowdalic/asmack,在smack4.1之前我们可以通过asmack来配合openfire来实现Android端的即时通信应用,asmack和smack貌似api都差不多(我没看过asmack)。smack4.1之后就开始支持Android平台了,所以现在可以放弃asmack了。
3.Windows下的Openfire安装部署
去官网上下载最新的Openfire安装包,我下载的是不包含JDK的压缩包(Does not include Java JRE),解压就可以用了,前提是你已经装了JDK了,而且JDK版本必须是1.7或以上的版本,Openfire不支持JDK6,解压之后在Openfire的根目录bin目录下执行openfire.exe即可,启动之后如下图在启动服务配置之前,先在你的数据库中创建一个名为openfire的数据库(支持多种数据库),点击图中的Launch Admin即会在浏览器上打开Openfire的配置界面,如下图:
上图中选择简体中文,然后继续:
上图中配置域,最好配置为你的服务器ip地址或者是域名,其他的默认不管,然后继续:
上图中选择标准数据库连接,继续:
上图中选择你的数据库类型,然后在数据库URL中填写正确的连接字符串,再填上你的数据库用户名和密码,然后继续
上图中直接默认选择初始设置,然后继续:
上图中填上管理员账户admin的邮件地址,然后填上该管理员账户的密码,然后继续:
到上图即表示你的Openfire服务安装配置完成,然后点击登录后进入到管理员登录界面:
Openfire默认的管理员账户为admin,秘密即为上面你设置的密码,登录成功之后,你可以通过这个Openfire管理平台管理该服务商所有的账户信息,服务器信息等。
4.Linux环境下Openfire的安装部署
在官网上下载最新的源码安装包(如: openfire_3_10_2.tar.gz ),我选择的也是不包含jdk的源码安装包,将该包上传至服务器某个目录下,在该目录下执行命令 tar -zxvf openfire_3_10_2.tar.gz,解压完成后切换到Openfire/bin目录下执行命令: ./openfire start 启动Openfire服务,然后在你自己的pc机浏览器上打开http://服务器ip:9090,即会进入Openfire的配置界面,前提是必须准备好一个数据库,配置过程与Windows下的配置过程一样,请参考上面的操作步骤。OK,Openfire服务的安装配置就介绍完了,下面一篇我就开始介绍smack的用法。
write by laohu
2015-10-30 15:59:54
相关文章推荐
- android笔记之receiver——广播
- [置顶] 【android】音乐播放器之数据存储总结
- [置顶] 【android】音乐播放器之service服务设计
- Android Design Support Library
- Android 4.4从图库选择图片,获取图片路径并裁剪
- Android下产生随机数的方法的选择
- [置顶] 【android】音乐播放器之设计思路
- ionic android下双击返回退出应用
- Android中自定义View的MeasureSpec使用
- Android简单用属性动画实现两个控件重叠
- android 性能系列
- Android中实现全屏、无标题栏的两种办法(转)
- android笔记之消息 通知
- android监测电池的电量与充电状态
- Android Studio导入jar后无法识别、但项目能正常运行的问题
- 【FastDev4Android框架开发】AndroidAnnnotations注入框架使用之事件绑定Event Binding(十一)
- android 音乐波形图
- Android通过Intent.ACTION_CLOSE_SYSTEM_DIALOGS监听Home按键消息
- Android开源库
- 日报2015/10/30(极客学院安卓视频学习)