XMPP通信协议架构
1.XMPP服务器的安装
XMPP服务器有很多种类,我们可以到XMPP的官网下载 XMPP Servers,这里,我们选择Openfire服务器。
下载之后,直接安装即可。Openfire的安装目录位于/usr/local/openfire.安装完成之后,点击系统菜单 系统偏好设置--》Openfire 弹出如下界面
让人着急的事情发生了,点击start Openfire按钮,无法启动Openfire。
首先你需要确认你已经安装了Java的运行环境,Java运行环境检查。
接下来,需要在终端terminate 逐一输入如下命令
//获取Openfire目录的访问权限
sudo chmod -R 777 /usr/local/openfire/bin
//以超级管理官的权限运行脚本
sudo su
cd /usr/local/openfire/bin
//设置Java的环境变量
export JAVA_HOME=$(/usr/libexec/java_home)
//输出检验环境变量的值
echo $JAVA_HOME
cd /usr/local/openfire/bin
//运行Openfire shell脚本
./openfire.sh
然后,再次打开Openfire配置工具,成功启动Openfire。
2.配置Openfire服务器
安装完成之后,我们需要建立一个mysql数据库,用于存储 用户数据和聊天记录等数据文件。
mysql数据库的安装可以参考,本博客的文章 Mac系统安装Mysql数据库
mysql workbench创建一个名字为openfire的数据库步骤
数据库Openfire创建完成之后,在工作空间的右侧,双击选中openfire数据库,一定要双击选中,使得数据库的名字变成深色的黑色。然后导入openfire服务器提供的mysql数据库sql脚本,用于创建一些必要的数据库表格. sql脚本存储目录位于 /usr/local/openfire/resources/database/openfire_mysql.sql 。
导入sql脚本的方法:双击选中刚才创建的数据库openfire,点击菜单 File--》Open SQL Script,进入openfire服务器的sql脚本目录。很可能出现下图的情况;
无法找到 /usr/local/openfire/resources/database 这个目录的文件,解决办法就是,把openfire_mysql.sql 拷贝到桌面上,从桌面中导入。
导入成功之后,可以发现sql脚本里面几乎都是table表格创建的语句,然后,点击执行按钮。执行完成之后,刷新数据库openfire,就可以看见创建了很多数据库表。
数据库创建完成,并且导入数据库表之后,接下来,我们需要使得openfire服务器可以访问这个数据库。
打开openfire服务器的管理员控制台
第一次打开 管理员控制台,需要配置openfire服务器,我们依次遵循配置向导就可以完成配置工作,下面,我详细说明一下几个比较重要的步骤
openfire服务器设置
数据库设置
设置一个密码,作为openfire服务器管理员的密码
设置完成之后,呈现如下界面,点击登录管理员控制台,用户名为admin,密码就是刚才我们设置的管理员密码。登录之后,我们可以看见如下界面
首页展现了openfire服务器的基本信息,其中有几个比较重要的信息,比如server name、server port等。当 用户使用xmpp客户端登录的时候,需要填写服务器的名称和端口。
服务器配置完成之后,我们可以创建几个用户,然后客户端可以使用这些用户信息登录,互相传输消息。
3.xmpp客户端设置与使用
有许多通信聊天客户端可以支持xmpp协议,比如,mac电脑就自带了一个 消息app,消息app支持jabber通信协议(xmpp的别名)。
打开mac 的消息 app,点击菜单 添加账户
选择jabber账户类型,填写相关信息
然后,提示验证证书,选择继续。登录成功