开发者社区> 迅雷老曾> 正文

Asmack开发系列之XMPP概述

简介:
+关注继续查看

这一节,我们从Asmack基于的协议核心出发,XMPP协议,来学习。弄懂XMPP对学习Asmack源码有着重要的原因,做到知其然知其所以然。

本文主要是学习《XMPP The Definitive Guide Building Real-Time Applications with Jabber Technologies》文总结而来。


1,您能够拿XMPP来做什么?

XMPP(Extensible Messaging and Presence Protocol),主要是传输XML数据。

典型的XMPP实现一般包含如下服务(Services):

1)通道加密(Channel Encryption)。虽然加密通信不是必须的,但对于建立安全软件却是非常必须的。

2)鉴权(Authentication)。用户需要通过xmpp来通信,首先要进行登入鉴权。

3)上线/出席(Presence)。主要是负责“好友在线么?不在线?还有就是,我上线了,我下线了”等。

4)花名册/联系人列表(Contact list)。

5)一对一通信(One-to-One Messaging)。

6)群对话(Multi-party Messaging)。

7)通知(Notifications)。广播一样,有点像QQ的右下角弹框。当然,你可以定制主题topic

8)服务发现(Service Discovery)。服务发现,你可以知道别的节点支持什么样的服务。

9)能力广告(Capabilities advertisement)。作为服务发现的一个补充。

10)结构化数据表单(structured data forms)。可以和其他节点交换类似与html表单的数据。

11)流程管理(Workflow Managerment)

12)Peer-to-Peer富媒体会话。这个用来传输多媒体数据,用作语音对话,视频对话,文件传输等。

以上就是一个典型的实现XMPP协议库需要支持的服务。


2,应用

以下是能够使用XMPP来做的应用:

1)即时通信(Instant Messaging)。

2)群组对话(GroupChat)。

3)游戏(Gaming)。

4)系统控制(System Control)。

5)定位。

6)云计算中间件。

7)内容发布系统。

8)IP电话(VoIP)。

9)标识系统。


3,历史(略)






版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
简单的网络协议概述
这一篇文章主要是概述网络协议以及网络协议的分层。 首先,我们来思考一个问题,如何让两台计算机甚至多台计算机之间进行通信呢?回答这个问题之前,我们先来想想生活中两个人是如何交流的呢? 这个我们都知道,是通过语言,相同的语言(例如:汉语)。只有操着相同语言的两个人才能进行交流,这里的语言就是一种协议。同样的让计算机交流起来也需要通过协议来处理。
26 0
简述移动端IM开发的那些坑:架构设计、通信协议和客户端
1、前言 有过移动端开发经历的开发者都深有体会:移动端IM的开发,与传统PC端IM有很大的不同,尤其无线网络的不可靠性、移动端硬件设备资源的有限性等问题,导致一个完整的移动端IM架构设计和实现都充满着大量的挑战。
3629 0
XMPP学习——3、XMPP协议学习补充
流基础 两个基本概念,使得XMPP实体之间的小的结构化信息有效载荷能快速地进行异步交换:XML流和XML节。这些术语的定义如下。 XML流的定义: XML流是一个容器,用于任何两个实体通过网络进行XML元素的交换. XML流的开始明确表达为一个打开的 "流头" (即, 一个包含了适当树形和命名空间声明的 XML <stream> 标签), 而这个XML流
1180 0
【Win10应用开发】协议-下篇:自定义多个协议
原文:【Win10应用开发】协议-下篇:自定义多个协议 前面介绍了如何为应用程序自定义协议,于是有朋友会问,我希望为我的应用注册多个协议,不同的协议处理不同的事情,能吗?答案是能的。 方法主要在配置清单文件上,这里我给出一个例子,示例应用将注册两个协议,分别为music:和video:。
867 0
【Win 10开发】协议-上篇:自定义应用协议
原文:【Win 10开发】协议-上篇:自定义应用协议 就像系统许多内置应用可以通过URI来启动(如ms-settings-bluetooth:可以打开蓝牙设置页),我们自己开发的应用程序,如果需要的话,可以为应用程序自定义一个协议。
1044 0
开源网络通信库参考
Sockets tcp/ip communication library C++ Sockets Library This is a GPL licensed C++ class library wrapping the berkeley sockets C API, and therefore works on most unixes and also win32.
1841 0
+关注
文章
问答
文章排行榜
最热
最新
相关电子书
更多
简介Bytom架构
立即下载
Chap1.简介Bytom架构
立即下载
如何创建一个成功的(在业务和开发中)开源项目
立即下载