GTalk所遵循的协议---XMPP
来源:互联网 发布:mac看隐藏照片 编辑:程序博客网 时间:2024/05/17 03:15
前几天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
- java客户端基于XMPP协议连接GTalk
- Android 基于XMPP协议连接GTalk
- QQ与gtalk XMPP协议
- 制作自己的xmpp/gtalk客户端
- 制作自己的xmpp/gtalk客户端
- 制作自己的xmpp/gtalk客户端
- gtalk ,XMPP 和 libjingle
- gtalk ,XMPP 和 libjingle
- [良品转贴,仅供学习]制作自己的xmpp/gtalk客户端
- 安卓实现gtalk的xmpp简单通信
- World Wind遵循的协议
- 【XMPP协议】XMPP协议的原理介绍
- XMPP的协议
- XMPP协议的基础知识
- xmpp协议的实现
- xmpp协议的使用
- xmpp协议的实现
- 一种理想的在关系数据库中存储树型结构数据的方法
- C++/MFC——一个能截获和屏蔽系统热键的钩子
- petshop4.0 详解之三(PetShop数据访问层之消息处理)
- WebService开发(二) 如何使用Soap扩展 http://www.cnblogs.com/wayne-ivan/archive/2007/06/19/788541.html
- Ubuntu 7.04上安装RealPlayer
- GTalk所遵循的协议---XMPP
- petshop4.0 详解之四(PetShop之ASP.NET缓存)
- J2EE Web服务开发系列之十二: 实现安全的AXIS Web服
- Oracle Server专有模式和共享模式概念和区别
- PetShop之业务逻辑层设计
- 开始学习VBA
- 读《Domain-Driven Design Quickly》笔记
- 存储过程基本语法规则
- Some usefull As3 Lib on Google