XMPP高级编程---使用Jquery和Javascript学习笔记

本文详细介绍了XMPP协议,包括其作为即时通信协议的应用、XML数据通信格式、三种核心节(presence、message、iq)的用途,以及XMPP的生命周期和寻址机制。通过示例展示了如何使用Jquery和Javascript处理XMPP通信。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 XMPP(eXtensiable Messaging and Presence Protocol,可扩展想消息处理和现场协议)是一种用来处理小型结构化数据段的协议。在此基础上可以用来构建

大规模即时通信系统、Internet游戏平台、搜索平台、协议空间.可以开发类似微博、微信通信功能及应用。Google Talk原来也支持XMPP,可以据说是用关闭Google Talk

不在支持XMPP.这位技术领导者也许又有什么新想法吧.

         一、XMPP协议格式

XMPP是用XML数据进行数据的通信。XMPP是用XML很重要的一方面是在XML的可扩展性。这样使得向XMPP中添加向前或者向后的新功能也很简单。在XMPP中XML

组织成一对流:每个流有: 开始元素==========XMPP节(其他顶级元素)========结束元素 构成。XMPP节是通信的核心部分节示例如下

<message 
to ='user1@a.com'
from = 'user2@b.com'
type = 'chat'>
<body> message from user2 to user2</body>
</message>
XMPP客户端先发送给服务端,服务端处理消息的处理,如果目的在本服务器就直接交付否则发送给目的XMPP服务器。XMPP是为了短小信息设计的,不适合大型二进制数据

通信。

XMPP使用XMPP节作为通信的核心部分,那么节又有多少分类哪?XMPP节其实有三种基本节分别为:<prensence>(出席)、<message>(消息)、<iq>(信息与查询)

----------(1)presence节用来控制并报告实体的可访问性包括“在线”,“离线”,“离开”,“请勿打扰”等还可以用来建立和终止向其他实体发布出席订阅。<presence>通过发送给

  服务器不带to的节表示自己出席情况,可以通过<show>\<status>\<priority>显示额外出席信息。出席订阅者会收到被订阅者的信息情况。

-----------(2)Message节用来从一个实体向另一个实体发送消息。<message>节采用|发送后不管|型,没有内在可靠性,消息发送出去不知道是否传送出去及何时到达。

消息类型使用type属性可以定义为:chat\error、normal、groupchat或者headline内容可以包含在body或者thread,thread用来表示相同的对话。

------------(3)IQ节为XMPP通信提供请求与相应机制。允许获取和设置查询<iq>节有四种也是通过type属性定义:分别为:IQ-get、IQ-set、IQ-result、IQ-error

  二、XMPP生命周期

XMPP生命周期为:首先建立XMPP服务器连接==========建立流通过<stream:stream>打开流=============发送数据。。连接阶段就是建立客户端与服务端的连接。

建立了连接后就建立流连接服务器会发送<stream:feature>显示XMPP服务器器支持的功能。

        三、XMPP寻址

XMP网络上每一个实体都有一个或者多个地址JID,看上去像邮箱地址: darcy@pemberlery.lit 每个JID都有三部分,节点、域、资源构成,域部分是必学的,其他的可选

JID分为完整JID和裸JID,裸JID是完整JID去除资源部分如完整JID:test@test.cn/library 那么他的裸JID为: test@test.cn


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值