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

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,历史(略)






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

相关文章
直播软件APP开发,小白做开发需要注意什么
作为小白期的运营商们,在直播软件APP开发时会有很多疑问,有些问题不是自己查就能看明白的,如果遇到较好的开发团队还好,就怕遇到不好的开发团队,耽误了开发的时间。小白期间,有这些事情需要去了解。
858 0
OAF_开发系列16_实现OAF与XML Publisher整合
http://wenku.baidu.com/link?url=y2SFKHP5qqn4bl_iNeqLGjXsTvhyFuhkMraIbWZdTXbzcv0vTefrZFFBDWie0cAAKuTwgwhrMAVvTjAo_f1mH1CdAPhhl_JCLeb3BuVTYaSERP技术讨论群: 2...
567 0
Mac下Android Studio 3.x的NDK开发环境搭建
目录 前言 CMake 用CMake向已有AS项目添加C/C++代码 ndk-build 最后 前言 mac上安装软件真的很简单, 一路下一步就可以安装好android studio. 这里有一篇旧文-Mac下安装配置Android Studio 2.
2101 0
Mac下Sublime Text3配置Python开发环境
设置Sublime Text的语法为python View -> syntax ->python 设置编译环境(默认python版本2.7) Tools -> Build System -> Python 添加编译环境python3.
2645 0
+关注
199
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载