基于Openfire Smack开发即时通讯应用、搭建Openfire服

来源:http://www.sh-fengwen.com 作者:美高梅游戏平台网站 人气:76 发布时间:2019-09-10
摘要:地址:http://blog.csdn.net/a_zhon/article/details/60871706 这两天没有更新博客,这里先对大家说声对不起了.因为这几天一直忙于研究XMPPFramework这个开源框架.XMPPFramework是一个OSX/iOS平台的开源项目

电子游戏美高梅网址 1

地址:http://blog.csdn.net/a_zhon/article/details/60871706

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

版权声明:本文出自阿钟的博客,转载请注明出处:

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

目录(?)[+]

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

一:Openfire是什么?

电子游戏美高梅网址 2

Openfire 是基于XMPP 协议的IM 的服务器端的一个实现,虽然当两个用户连接后,可以通过点对点的方式来发送消息,但是用户还是需要连接到服务器来获取一些连接信息和通信信息的,所以服务器端是必须要实现的。Openfire 也提供了一些基本功能,但真的很基本的!庆幸的是,它也提供插件的扩展,像Spark 一样,同样强烈建议使用插件扩展的方式来增加新的功能,而不是修改人家的源代码。

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

二:Spark是什么?

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

这个就简单了,就是相当与电脑版QQ通过smack与openfire进行通信。(当你看到了界面之后就明白了)

电子游戏美高梅网址 3

三:Smack又是什么?

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

Smack 是一个基于XMPP 协议的Java 实现,提供一套可扩展的API,与openFire进行通信

电子游戏美高梅网址 4

四:Spark 与 Smack 与 Openfire的关系

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

电子游戏美高梅网址 5

电子游戏美高梅网址 6

五:说了这么多,我们来迈出第一步搭建openFire服务器,这里需要一个云数据库(如果你安装在本地的话,那就可以在本地安装一个MySQL了)

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

进入igniterealtime官网下载页面下载Openfire安装包

电子游戏美高梅网址 7

电子游戏美高梅网址 8

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

启动下载好的安装包执行安装一路绿灯Next就Ok了,安装完毕后点击Launch Admin他将会带领你一步一步设置好Openfire服务器(总共也就5步啦)

  • 首先,给openfire中的bin文件夹一个权限,允许所有人读写.

电子游戏美高梅网址 9

Openfire初始配置

sudo chmod -R 777 /usr/local/openfire/bin

电子游戏美高梅网址 10

  • 配置java环境变量,这里需要注意的是最后一句命令jdk的版本要输自己的jdk的版本.我这里是1.8.0_111版本的,所以命令如下所示.

配置Openfire服务器的域名,待会进入管理界面就靠他了。

电子游戏美高梅网址 11

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

如果你的是MySQL的数据库的话,就只需要将[host-name],3306,[database-name]改成你自己的就可以了,这个也要去掉哦 “[“,”]”。

  • 配置好java环境变量之后,我们就启动Openfire服务器即可,具体命令如下所示.

电子游戏美高梅网址 12

六:基本上根据引导一步一步是不会出问题的,然后你就可以进入admin管理页面了(http://刚设置的域名:9090)。

cd /usr/local/openfire/bin

./openfire.sh

电子游戏美高梅网址 13

  • 在终端如下图所示,代表着服务器启动成功.

    电子游戏美高梅网址 14

七:OK,Openfire服务的安装配置就介绍完了,下面就开始介绍Smack的用法。

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

电子游戏美高梅网址 15

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

本文由美高梅游戏平台网站发布于美高梅游戏平台网站,转载请注明出处:基于Openfire Smack开发即时通讯应用、搭建Openfire服

关键词:

最火资讯