OpenFire源码学习之一:XMPP基础知识

本文介绍了XMPP协议的基础知识,包括其作为可扩展通讯和表示协议的角色,基本网络结构涉及的客户端、服务器和网关,以及XML流、XML节的概念。XMPP适合新项目,具有易于扩展和适用于各种规模系统的特点。详细阐述了XML流的属性和基本节点如的功能。
摘要由CSDN通过智能技术生成

前面两张主要讲基础部分。XMPP与Mina有部分抄写于互联网的其他大事

XMPP概述

XMPP: The Extensible Messaging and Presence Protocol

中文全称:可扩展通讯和表示协议

Xmpp是一种类似于http的通讯传输协议,它是一个“包装”/“解包”的过程。

XMPP适合新项目的优势:

l  无需投入成本制定协议

l  易于扩展

l  可迅速完成原型

l  适合各种容量系统,从100用户在线的系统到100万以上在线用户。

l  可扩展至 Web/Flash IM, Mobile IM 等各种场合,基本都有开源实现或Library。

l  发展比较成熟稳定

基本网络结构

XMPP中定义了三个角色,客户端,服务器,网关。通信能够在这三者的任意两个之间双向发生。服务器同时承担了客户端信息记录,连接管理和信息的路由功能。网关承担着与异构即时通信系统的互联互通,异构系统可以包括SMS(短信),MSN,ICQ等。基本的网络形式是单客户端通过TCP/IP连接到单服务器,然后在之上传输XML。

功能

传输的是与即时通讯相关的指令。在以前这些命令要么用2进制的形式发送(比如QQ),要么用纯文本指令加空格加参数加换行符的方式发送(比如MSN)。而XMPP传输的即时通讯指令的逻辑与以往相仿,只是协议的形式变成了XML格式的纯文本。这不但使得解析容易了,人也容易阅读了,方便了开发和查错。而XMPP的核心部分就是一个在网络上分片段发送XML的流协议。这个流协议是XMPP的即时通讯指令的传递基础,也是一个非常重要的可以被进一步利用的网络基础协议。所以可以说,XMPP用TCP传的是XML流。

XML流和XML节

XML流的定义:

一个XML流是一个容器,包含了两个实体之间通过网络交换的XML元素。一个XML流是由一个XML打开标签 <stream> (包含适当的属性和名字空间声明)

  • 6
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值