其他分享
首页 > 其他分享> > XMPPFramework开发(一):Openfire服务器搭建

XMPPFramework开发(一):Openfire服务器搭建

作者:互联网


XMPPFramework开发前言


这两天没有更新博客,这里先对大家说声对不起了.因为这几天一直忙于研究XMPPFramework这个开源框架.XMPPFramework是一个OS X/iOS平台的开源项目,使用Objective-C实现了XMPP协议,同时还提供了用于读写XML的工具.可以帮助我们快速的开发即时通讯功能.XMPPFramework其实以前培训的时候也是有做过的,不过那只是一顿无脑敲,对其原理以及逻辑并没有深入的了解.而且后期开发使用环信、融云三方开发比较多,XMPPFramework用的其实并不是很多.所以作为小白的我将在XMPPFramework这个专题中对XMPPFramework在实际使用过程中的详细逻辑以及遇到的坑进行分享讲解.希望大家关注.


XMPP以及Openfire服务器简介


关于XMPP,它是一种基于标准通用标记语言的子集XML的协议,XMPP中定义了三个角色,客户端,服务器,网关。通信能够在这三者的任意两个之间双向发生。服务器同时承担了客户端信息记录,连接管理和信息的路由功能。

如下面经典的XMPP示意图所示.其中Client为客户端,Server为服务器,我们可以允许多个服务器,不管是Client与Server之间,还是Server与Server之间的数据传输都是XML格式的数据流.

在实际开发过程中,Server的搭建并不是需要移动端开进行的.但是我们需要做前期的测试,所以搭建一个服务器还是很有必要的,这里选择Openfire服务器,Openfire是开源的、基于可拓展通讯和表示协议(XMPP)、采用Java编程语言开发的实时协作服务器。 Openfire安装和使用都非常简单,并利用Web进行管理。单台服务器可支持上万并发用户。那么接下来,我们就看一下如何搭建一个本地的Openfire服务器.


Openfire服务器搭建流程


由于Openfire服务器是基于java环境的,**由于Openfire的版本一定要和JDK的版本对应一致,**所以我们需要去Oracle官网去最新版本的JDK.然后安装最新的JDK就好.如下图所示.

上面我们就搭建好我们的java环境了,不过一定要记住,JDK版本要和Openfire的版本一致.接下来,我们需要去Openfire下载页下载最新的Openfire版本了.

下载完成之后,我们安装即可.安装完成我们会在系统偏好设置找到我们安装的JDK以及openfire服务器,如下所示.

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UTgKOV6F-1611046490353)(http://upload-images.jianshu.io/upload_images/1396375-f95d592d23ee7daa.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]

接下来,我就需要配置我们的Openfire服务器了,我们先进入Openfire页面启动Openfire服务器.一开始,服务器的状态是处于stop停止状态的,所以我们需要手动启动一下,让状态处于Running状态.

这里,Openfire服务器也可能启动失败,其实失败的原因不外乎两个,一个是没有访问Openfire的权限,另外一个就是java的环境变量没有配置好,我们需要重新配置一下.所以,我们使用终端启动我们的Openfire服务器,步骤如下所示.

sudo chmod -R 777 /usr/local/openfire/bin
sudo su
cd /usr/local/openfire/bin
export JAVA_HOME=`/usr/libexec/java_home`
echo $JAVA_HOME /Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home
cd /usr/local/openfire/bin
./openfire.sh

启动完成之后,我们还是需要进入系统偏好设置进入Openfire页面,然后点击页面中Open Admin Console选项,打开Openfire的web配置页面.

(由于我已经安装完成了,所以接下来一些配置图并不是自己截的图,如有侵权,请联系我,立马删除)

数据库URL的修改有几点需要注意.一个是,[host-name]修改为127.0.0.1或者localhost,[database-name]改为数据库名称openfire.当然了,数据库现在我们还没创建,接下来我们就需要创建一个名为openfire的数据库,二就是请全部小写,因为url地址需要小写,所以我们创建数据库的时候,数据库的名称也要小写.