导读 对于推送,IM服务器,目前可以使用一些厂家提供的SDK来实现,但是我们的老板又总是担心使用别人的SDK,假如别人的服务出现问题,或者别人偷看咱们的信息,那岂不是出现很大问题了

XMPP协议、IM、客户端互联详解XMPP协议、IM、客户端互联详解
聊一聊xmpp的服务器openfire和测试客户端spark

1、什么是XMPP
这里说一下XMPP,我在前几节说的sdk汇总文章提到的部分推送,IM的SDK提供商用的是XMPP协议,当然也有是自己实现的协议的,例如腾讯。XMPP简单的来说,就是一个发送与接收之间定义的规则,不过这个协议和我们传统的协议有点不同,它不是二进制的方式的,也不是字符串的,而是一个XML格式的内容,相信大家都比较熟悉XML,xml的扩展性非常强大,XMPP也继承了它优良的传统,使得我们在通信中,可以更加容易定义自己的标志。
2、xmpp服务器openfire
    xmpp开源服务器有很多,我们这里介绍一下基于XMPP协议的服务器,Openfire。Openfire 是基于Jabber协议(XMPP)实现的即时通信服务器端版本,使用java来实现的,其官网是:http://www.igniterealtime.org/index.jsp
    目前Openfire的版本是4.0.1,它可以部署在mac,windows和linux系统上。
    这里我就以windows版本的服务器为例子,在官网下载好openfire后,直接点击安装,安装步骤按照我们平时安装软件那样就可以了,这里提示一点,如果安装成功后,openfire不会自动启动的话,那么 有可能是端口被占用了,xmpp一般使用的端口有5222、5223等,可以查看一下有没有被占用。

XMPP协议、IM、客户端互联详解XMPP协议、IM、客户端互联详解

    如果安装后,没有自己启动的话,可以尝试手动点击start启动,一般安装好后需要我们对服务器进行配置,如果自己弹出了配置页面的话,可以跳过这一步,如果没有的话,可以点击 launch admin,如图

XMPP协议、IM、客户端互联详解XMPP协议、IM、客户端互联详解

    进入配置页面后,会提示我们页面显示的语言,我们这里就选择简体中文,如图

XMPP协议、IM、客户端互联详解XMPP协议、IM、客户端互联详解

    选择好语言后,我们需要对服务器进行设置,输入我们的域名\IP地址,如果需要加密 的话,这里需要配置加密的公钥和私钥等等,我这里选择默认的。如图

XMPP协议、IM、客户端互联详解XMPP协议、IM、客户端互联详解

    配置好后,我们选择数据库的方式,这里说明一下,我们需要连接到一个已经安装好后的数据库的话,选择第一种方式,如果我们本地没有安装好,可以选择第二种,如图

XMPP协议、IM、客户端互联详解XMPP协议、IM、客户端互联详解

    由于我这里是选择第一种方式,接着我们需要配置我们的ODBC连接方式,我这里的使用MYSQL的,输入数据库服务地址和数据库的名字,还有用户名和密码

XMPP协议、IM、客户端互联详解XMPP协议、IM、客户端互联详解

    接着输入用户组里面的属性,我们这里选择默认的,如图

XMPP协议、IM、客户端互联详解XMPP协议、IM、客户端互联详解

    输入管理员的账号和密码,这里一定要注意的,默认的管理员帐号和密码是admin和admin,如果需要修改成我们自己的密码的话,可以在这一步修改,但是一定要记住,不然的话,需要在数据库里面修改的,而且要以邮箱的形式来修改帐号。如图

XMPP协议、IM、客户端互联详解XMPP协议、IM、客户端互联详解

    进行到这一步,服务器的配置算是完成了

XMPP协议、IM、客户端互联详解XMPP协议、IM、客户端互联详解

    我们可以在管理平台上看到我们openfire的配置信息了,如图

XMPP协议、IM、客户端互联详解XMPP协议、IM、客户端互联详解

    对于mac版本的安装,下载后点击安装,安装完成后,可能会不知道安装在哪里,我们可以打开偏好设置,要重新打开才有效的,然后打开openfire的按钮,如下图,

XMPP协议、IM、客户端互联详解XMPP协议、IM、客户端互联详解

    这个时候,我们直接点击start openfire就可以打开我们mac版本的服务器,此外再次提示一下的就是,如果打不开openfire要检查里面的端口有没有被占用了。

XMPP协议、IM、客户端互联详解XMPP协议、IM、客户端互联详解

3、测试客户端Spark
    这里我们直接用官网上的Spark来测试我们的实时信息,在官网下载好spark,点击安装,安装好后,我们需要注册一个帐号,注册帐号的步骤,如下图,这里需要注意的是服务器地址,这里的地址就是我们刚才输入的域名地址,我们可以输入服务器的IP地址,如果是本地测试的可以输入127.0.0.1或者所有域,或者域名,这个根据具体情况输入。
    spark的下载地址http://www.igniterealtime.org/downloads/index.jsp#spark

XMPP协议、IM、客户端互联详解XMPP协议、IM、客户端互联详解

    注册成功后,会自动弹回登录的页面的,我们输入帐号和密码就可以登录到相应的界面,并且会显示类似飞信的页面的,显示自己在线的,如图

XMPP协议、IM、客户端互联详解XMPP协议、IM、客户端互联详解

4、测试群发信息
    这时我们登录后管理平台上,想利用后台群发一条信息到客户端,我们点击会话->工具->发送信息,然后输入我们的内容,例如hello.点击发送后客户端会收到hello,这时说明实时内容已经到达了。

XMPP协议、IM、客户端互联详解XMPP协议、IM、客户端互联详解
XMPP协议、IM、客户端互联详解XMPP协议、IM、客户端互联详解

原文来自:http://www.toutiao.com/i6251820483365306882/

转载地址:ttp://www.linuxprobe.com/xmpp-im-client.html