GTalk所遵循的协议---XMPP

转载 2007年09月18日 16:18:00
 

前几天Google发布了一款名叫Google Talk的即时通讯软件,这款软件的买点卖点之一就是XMPP。那,什么是XMPP呢?
   可扩展通讯和表示协议 (XMPP) 可用于服务类实时通讯、表示和需求 - 响应服务中的 XML 数据元流式传输。XMPP 以 Jabber 协议为基础,而 Jabber 是即时通讯中常用的开放式协议。
   尽管 XMPP 没有完全溶合进任何特定的网络架构之中,但是通过客户机/服务器架构,它还是经常被采用,因为客户机需要使用 XMPP 经过 TCP 连接访问服务器,而服务器之间也是通过 TCP 连接进行通信的。服务器可起到 XMPP 通讯的智能提取层的作用。许多客户机直接通过 TCP 连接与服务器相连,并使用 XMPP 来充分使用服务器和任何相关服务所提供的功能。同时连接到服务器的可能有多种资源,它们代表各自已获授权的客户机。对于客户机和服务器之间的连接,推荐使用的端口号为 5222 。网关是一种有着特殊用途的服务器端服务,它的主要功能是在异构通讯系统协议之中解析 XMPP ,同时还要在 XMPP 之中解析返回的数据,如以下各各种服务的网关:电子邮件、国际互联网中继聊天(IRC)、SIMPLE、短信息服务(SMS)和现存的各种即时通讯服务,包括 AIM、ICQ、MSN Messenger 和 Yahoo! Instant Messenger 等。

[separator]


  两个基本概念 — XML 数据流和 XML 节使得较小结构化信息的有效负载可以在敏感于数据传输的实体间进行迅速的异步传输。一个 XML 数据流就像一种容器,可应用在任何两个网络实体间 XML 数据元的交换。XML 节是结构化信息的独立单元,通过 XML 数据流从一个实体发送到另一个实体。
  XMPP 中包含了一种用于防范数据流被窜改和偷听的办法。这种信道加密的办法使用了传输层安全协议(TLS),连同其扩展协议 STARTTLS 。这种扩展与其它协议的扩展是同一模式的,如 IMAP、POP3 和 ACAP 等协议。XMPP 中还包含一种对数据流进行验证的办法,并采用了简单验证和安全层协议(SASL)中 XMPP 的特定框架。

协议结构

  XML 数据流在所有 XML 节的传送会话过程中起到一种包络的作用。我们可以采用一种单纯的方式来表示这个过程:

|--------------------|
| <stream> |
|--------------------|
| <presence> |
| <show/> |
| </presence> |
|--------------------|
| <message to='foo'> |
| <body/> |
| </message> |
|--------------------|
| <iq to='bar'> |
| <query/> |
| </iq> |
|--------------------|
| ... |
|--------------------|
| </stream> |
|--------------------|

Stream attributes:  
| initiating to receiving | receiving to initiating
---------+---------------------------+-----------------------
to | hostname of receiver | silently ignored
from | silently ignored | hostname of receiver
id | silently ignored | session key
xml:lang | default language | default language
version | signals XMPP 1.0 support | signals XMPP 1.0 support

相关文章推荐

安卓实现gtalk的xmpp简单通信

这里尝试用安卓尝试对电脑上的一个gtalk客户端进行推送消息。 项目源代码可去我的Q群共享下载(250395324) 1.首先要有两个google账号,这里我们假设账号一和账号二 2.需...

[良品转贴,仅供学习]制作自己的xmpp/gtalk客户端

本文作者的这个研究过程跟我的好像,我也在xmpp和libjingle之间辗转研究,用了xmppframework,libjingle,gloox,其中libjingle我是以前都研究过,所有基于它的P...

制作自己的xmpp/gtalk客户端

本文作者的这个研究过程跟我的好像,我也在xmpp和libjingle之间辗转研究,用了xmppframework,libjingle,gloox,其中libjingle我是以前都研究过,所有基于它的P...

XMPP_协议介绍

  • 2014-12-11 15:14
  • 68KB
  • 下载

Openfire与XMPP协议

Openfire与XMPP协议 关于xmpp协议可以参考:http://www.jabbercn.org 什么是OpenFire Openfire 采用Java开发,开源的实时协作(RTC)...

XMPP协议之RFC6120

  • 2014-12-23 11:43
  • 301KB
  • 下载

xmpp协议中文

  • 2014-10-21 11:01
  • 1.88MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)