美文网首页
即时通信(1):XMPP简介及环境搭建

即时通信(1):XMPP简介及环境搭建

作者: 永恒守护__刘鹏辉 | 来源:发表于2016-07-13 20:56 被阅读396次

什么是即时通信?

  • 即时通讯(Instant Messaging)是目前Internet上最为流行的通讯方式,各种各样的即时通讯软件也层出不穷,服务提供商也提供了越来越丰富的通讯服务功能。

即时通讯的实现方式?

  • 即时通讯有多种实现方式,例如:XMPP、环信、融云等。本文则对XMPP的使用进行介绍。

什么是XMPP?

  • XMPP(XML,Messages,Presence,Protocol)是可扩展通讯和表示协议,基于XML(可扩展标记语言),可用于即时通信(IM)。
  • 目前有四种主流IM(即时通讯)协议:XMPP(可扩展通讯和表示协议)、IMPP(即时信息和空间协议)、PPIM(空间和即时信息协议)、SIMPLE(针对即时通讯和空间平衡扩充的进程开始协议)。在这四种协议中,最灵活的就是XMPP,它是基于XML协议的,继承了在XML环境中灵活的发展性,因此,基于XMPP的应用程序具有超强的可扩展性。

XMPP优点:

  • 开放:XMPP协议是由JSF开源社区组织开发的,不属于任何的机构和个人,所以XMPP是自由、开放、公开的,而且易于了解。在客户端、服务器、组件、源码库等方面,都有了多种实现。
  • 标准:互联网工程工作组将XMPP于2002年正式列为认可的实时通讯及Presence技术。
  • 分布式的网络架构:XMPP协议虽然是Client/Server的通讯模式,但是XMPP协议本身并没有这样的限制。而分布式网络是由分布在不同地点且具有多个终端的节点机互连而成,网络中的任意一点均至少与两条线路相连,当任意一条线路发生故障,通信还可经其他链路完成,具有较高的可靠性,同时网络易于扩充。XMPP网络架构和电子邮件十分相似,其核心协议通信方式是先创建一个Stream,然后以TCP传递XML数据流,没有中央服务器,任何人都可以运行自己的XMPP服务器,使个人或组织能够掌握他们的实时通讯体验。
  • 良好的扩展性:基于XML建立起来的应用具有良好的语义完整性和扩展性。
  • 应用广泛:XMPP除了可用在即时通信的应用程序,还能用在网络管理、内容供稿、协同工具、档案共享、游戏、远端系统监控等。
  • 安全性:XMPP在Client-to-Server通信和Server-to-Client通信中都使用TLS(Transport Layer Security)协议作为通信通道的加密方法,保证通信的安全。

XMPP实现即时通讯

实现即时通讯至少需要一个服务器端、两个客户端。下面我们准备需要的环境:XMPP服务器、XMPP客户端(辅助调试)

XMPP环境搭建

搭建XMPP环境需要几个辅助工具:

  • XAMPP
    XAMPP(Apache+MySQL+PHP+PERL)是一个功能强大的XAMPP软件站集成软件包,是一个易于安装且包含MySQL、PHP和Perl的Apache发行版,非常容易安装和使用,只需下载、解压缩、启动即可。
XAMPP1 XAMPP2 XAMPP3 XAMPP4 XAMPP5 XAMPP6
  • Openfire
    Openfire采用Java开发,开源的实时协作(RTC)服务器,基于XMPP(Jabber)协议。其安装和使用都非常简单,利用Web进行管理。单台服务器可支持上万并发用户。
    因为Openfire服务是基于JAVA语言写的,所以电脑必须要有java运行环境。安装JDK成功后进行Openfire的安装。
Openfire1 Openfire2 Openfire3 Openfire4 Openfire5 Openfire6 Openfire7

此时需要创建数据库以供使用:


Openfire8 Openfire9

创建数据库结束,需要导入表,此时要去openfire文件夹中获取需要的文件,位置如下:


Openfire10 Openfire11 Openfire12 Openfire13 Openfire14 Openfire15 Openfire16 Openfire17 Openfire18 Openfire19 Openfire20 Openfire21
XMPP客户端环境搭建

搭建XMPP客户端环境使用spark,辅助调试。XMPP系统的一个设计标准是必须支持简单的客户端。事实上,XMPP系统架构对客户端只有很少的几个限制。一个XMPP客户端必须支持的功能有:

  • 通过TCP套接字与XMPP服务器进行通信
  • 解析组织好的XML信息包
  • 理解消息数据类型
spark1 spark2

环境配置结束。

工程中添加XMPP
  • 创建新工程
  • 导入XMPP框架
  • 引入XMPP需要的依赖库libxml2和libresolv
  • 设置路径/usr/include/libxml2
导入XMPP

相关文章

  • 即时通信(1):XMPP简介及环境搭建

    什么是即时通信? 即时通讯(Instant Messaging)是目前Internet上最为流行的通讯方式,各种各...

  • iOS 即时通信系列之XMPP搭建本地服务器

    说明:本文主要阐述如何使用XAMPP、Openfire工具基于XMPP搭建本地服务器、实现即时通信。 即时通信 什...

  • iOS 即时通信系列之XMPP登入、注册、聊天

    说明:在即时通信系列XMPP之搭建本地服务器中阐述了通过XAMPP、Openfire工具搭建基于XMPP的服务器端...

  • 即时通讯

    1、是否使用过XMPP,XMPP的实现原理 1、XMPP是一个即时通讯的协议,它规范了用于即时通信在网络上数据传输...

  • 一步一步教你XMPP环境搭建

    一,iOS __XMPP环境搭建前提介绍: 想要搭建xmpp环境,需要安装一些软件: 1,jdk下载(Java环境...

  • 即时通讯

    XMPP 一、 实现原理 XMPP是一个即时通讯的协议,是建立在Socket通信基础上的,它规范了用于即时通信...

  • XMPP基础

    概要 1、即时通讯技术简介2、XMPP诞生的由来3、XMPP特点4、XMPP的基本结构5、XMPP工作原理6、XM...

  • 即时通讯

    XMPP XMPP的实现原理 XMPP是一个即时通讯的协议,它规范了用于即时通信在网络上数据传输格式的,比如登录,...

  • 即时通讯

    即时通讯 1.实现通讯功能 (1)即时通信可以用socket实现,成本肯定比较大 (2)使用xmpp实现即时通讯功...

  • iOS-进阶整理10 - 即时通信1 XMPP openfire

    即时通信(Instant Messaging),就是扣扣,微信它有多种实现方式,如XMPP、环信、融云等。XMPP...

网友评论

      本文标题:即时通信(1):XMPP简介及环境搭建

      本文链接:https://www.haomeiwen.com/subject/nofejttx.html