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

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


聊一聊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等,可以查看一下有没有被占用。

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

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

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

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

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

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

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

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

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

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

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

3、测试客户端Spark

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

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

4、测试群发信息

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


时间: 2024-11-03 03:27:17

XMPP协议、IM、客户端互联详解的相关文章

WebSocket安卓客户端实现详解(一)–连接建立与重连

http://blog.csdn.net/zly921112/article/details/72973054 前言 这里特别说明下因为WebSocket服务端是公司线上项目所以这里url和具体协议我全部抹去了,但我会尽力给大家讲明白并且demo我都是测试过,还望各位看官见谅 我们先粗犷的讲下流程,掌握个大概的方向,然后在深入讲解细节的实现.这里先解答一个疑惑,为啥我们这要用WebSocket而不是Socket呢,因为WebSocket是一个应用层协议很多东西都规定好了我们直接按他的规定来用就好

WebSocket安卓客户端实现详解(三)–服务端主动通知

WebSocket安卓客户端实现详解(三)–服务端主动通知 本篇依旧是接着上一篇继续扩展,还没看过之前博客的小伙伴,这里附上前几篇地址 WebSocket安卓客户端实现详解(一)–连接建立与重连 WebSocket安卓客户端实现详解(二)–客户端发送请求 终于是最后一篇啦,有点激动\ ( ≧▽≦ ) /啦啦啦, 服务端主动通知 热身完毕,我们先回顾下第一篇中讲到的服务端主动通知的流程 根据notify中事件类型找到对应的处理类,处理对应逻辑. 然后用eventbus通知对应的ui界面更新. 如果

boost asio异步读写网络聊天程序客户端 实例详解

// // chat_client.cpp // ~~~~~~~~~~~~~~~ // // Copyright (c) 2003-2013 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://ww

ARP协议及ARP欺骗详解

ARP协议及ARP欺骗详解 地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议.主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址:收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源.ARP缓存是个用来储存IP地址和MAC地址的缓冲区,其本质就是一个IP地址-->MAC地址的对应表,表中每一个条目分别记

Linux下ORACLE客户端安装详解

1.首先去oracle官网下载以下安装包(http://www.oracle.com/technetwork/topics/linuxsoft-082809.html) instantclient-basic-linux.x64-11.2.0.3.0.zip instantclient-odbc-linux-11.2.0.3.0.zip instantclient-sdk-linux.x64-11.2.0.3.0.zip instantclient-sqlplus-linux.x64-11.2.

HTTP协议Get和Post详解(附图说明)

说明: 最近项目中遇到遇到了些问题,需要重写网络请求方面的模块,所以查询了资料,摘抄出比较实用的在此记录下,方便以后查阅,也方便后来人. 目录: 1   HTTP请求报文格式 1.1   GET请求报文例子 1.2   POST请求报文例子 2   HTTP响应报文格式 2.1   GET响应报文例子 2.2   POST响应报文例子 详情如下: 1   HTTP请求报文格式 1.1   GET请求报文格式 1.2   POST请求报文例子 2   HTTP响应报文格式 2.1   GET响应报

HTTP协议 (六) 状态码详解

HTTP状态码,我都是现查现用. 我以前记得几个常用的状态码,比如200,302,304,404, 503. 一般来说我也只需要了解这些常用的状态码就可以了.  如果是做AJAX,REST,网络爬虫,机器人等程序.还是需要了解其他状态码.  本文我花了一个多月的时间把所有的状态码都总结了下,内容太多,看的时候麻烦耐心点了. HTTP状态码的学习资料到处都有,但是都是理论上讲解.  本文介绍HTTP协议中的HTTP状态码(HTTP Status Code), 会对大部分的状态码都进行了详细的实例讲

第四天-secureCRT-ssh客户端使用详解

详细出处参考详解: http://www.cr173.com/html/24759_1.html http://jingyan.baidu.com/article/ff41162581e24a12e48237d1.html http://www.tuicool.com/articles/qmieay SecureCRT是最常用的终端仿真程序,简单的说就是Windows下登录UNIX或Liunx服务器主机的软件,本文主要介绍SecureCRT的使用方法和技巧 VanDyke CRT 和 VanDy

http协议及httpd特性详解

前言 随着互联网的迅猛发展和网络的普及,各类网站层出不穷,网站也成为企业宣传和实力展现的主要途径之一,说到网站就不得不说一下web服务了,现在比较流行的web服务还是当属Apache即httpd.本文将详解http协议及httpd的特性. http协议详解 http协议 http: Hyper Text Transfer Protocol 超文本传输协议 传输文本:HTML html: Hyper Text Mark Language 超文本标记语言 html文档的生成方式 静态:纯html格式