`

XMPP学习笔记

    博客分类:
  • XMPP
 
阅读更多

  1. XMPP网络是由若干角色组成的,这些角色可以分为服务器、客户端、组件和服务器插件。

  2. XMPP网络的每个实体都有一个或多个地址(或称为JID,jabber identifier),每个JID由三部分组成:节点、域、资源,域部分是必须的,其他两部分是可选的。

  3. XMPP流由两份XML文档组成,通信的每个方向均有一份文档,这些文档有一个顶级根元素<stream:stream>,这个根元素的子元素由可路由的节以及与流相关的顶级子元素构成。三种基本节为<presence>、<message>、<iq>

  4. 节里的通用属性:from、to、type、id

  5. <presence>节控制并报告实体的可访问性,还用来建立和终止向其他实体发布出席订阅。

<presence />

<presence type='unavailable' />

<presence>
    <show>away</show>
    <status>at the ball</status>
</presence>

<presence>
    <status>touring the countryside</status>
    <priority>10</priority>
</presence>

<presence>
    <priority>10</priority>
</presence>

  6. <message>节用来从一个实体向另一个实体发送消息,属于发送后不管型,没有内在的可靠性,可以通过在应用程序中添加确认机制来实现可靠传送。

  7. <iq>节表示的是Info/Query(信息与查询),每个节必须有响应,使用id属性关联请求与响应。

  8. 在发送XMPP节前通常要求建立一个经过身份验证的XMPP会话,XMPP连接的生命周期:连接、流的建立、身份验证、会话正文、连接断开。

 

分享到:
评论

相关推荐

    XMPP学习入门笔记

    ### XMPP学习入门笔记知识点详解 #### 一、XMPP简介 XMPP(Extensible Messaging and Presence Protocol)是一种基于XML的即时通讯协议。它最初由Jabber发展而来,并于2004年成为国际标准(RFC 3920 和 RFC 3921)...

    XMPPNote-Android:Android平台XMPP学习笔记

    以上知识点是基于标题和描述中的"XMPPNote-Android"项目,通过学习和实践这个项目,你可以深入了解如何在Android平台上实现XMPP通信功能,并掌握相关的Java编程技巧。同时,通过研究"XMPPNote-Android-master"中的源...

    AgsXmpp学习笔记

    在提供的“xmpp学习笔记.doc”文档中,你可以找到更详细的操作步骤、代码示例以及可能遇到的问题和解决方案,这对于深入学习和使用AgsXmpp库非常有帮助。通过不断实践和研究,你将能够熟练掌握这个强大的XMPP客户端...

    XMPP即时通讯入门学习资料文档

    内含xmpp即时通讯协议的中文翻译文档,即时通讯协议(Openfire服务器版),协议介绍以及学习笔记;Openfire服务器下载地址http://www.igniterealtime.org/downloads/index.jsp

    gloox学习笔记(转载)

    【Gloox学习笔记概述】 Gloox是一个基于C++的开源库,它实现了XMPP(Extensible Messaging and Presence Protocol)协议,适用于跨平台的即时通讯应用开发。Gloox库为开发者提供了丰富的功能,包括连接管理、消息...

    smack学习笔记

    【Smack学习笔记】 Smack是一个流行的开源Java库,用于实现XMPP(可扩展消息处理和Presence协议),这是一种广泛用于即时通讯(IM)的应用层协议。通过使用Smack,开发者可以构建自己的XMPP客户端,实现用户之间的...

    Tigase学习笔记整理

    总结来说,Tigase的学习涵盖了组件架构,包括核心组件、插件机制和连接器的实现。理解这些知识点有助于开发者更高效地构建和扩展Tigase服务器,满足各种即时通讯和协作需求。通过实现不同的接口和类,开发者可以创建...

    openfire学习笔记

    【Openfire学习笔记】 Openfire是一款基于XMPP协议的实时通信服务器,用于构建即时消息和协作应用。在学习和操作Openfire的过程中,我们通常会关注如何整合它与已有系统的用户数据,实现用户管理的自动化。以下是...

    WebRTC学习笔记_Demo收集 .docx

    ### WebRTC学习笔记_Demo收集 #### 一、WebRTC现状与历史背景 WebRTC(Web Real-Time Communication)是一项开放的、免费的技术框架,旨在使Web浏览器能够在无需插件的情况下进行实时音视频通信。该技术最初由...

    Freeswitch学习笔记

    《Freeswitch学习笔记》是针对开源通信平台Freeswitch的一份详细教程,这份文档将带你深入了解Freeswitch的核心概念、功能以及如何进行实际操作。Freeswitch是一个强大的软交换系统,广泛应用于VoIP(Voice over ...

    ActiveMQ学习笔记之一--ActiveMQ下载

    **ActiveMQ学习笔记之一——ActiveMQ下载** ActiveMQ是Apache软件基金会开发的一个开源消息中间件,它是基于Java消息服务(JMS)规范的,用于在分布式系统中传递消息。作为一个高性能、可伸缩且可靠的解决方案,...

    Android版支持XMPP协议IM客户端源代码

    通过深入研究和理解这个源代码,开发者可以学习到如何在Android上构建XMPP客户端,如何处理网络通信,以及如何与Openfire服务器集成。这将为创建自己的即时通讯应用奠定坚实基础。同时,了解源码结构和编程实践也有...

    openfire+smack开发webim笔记

    【标题】:“openfire+smack开发webim笔记”涉及的知识点详解 【一】XMPP(可扩展消息处理现场协议) XMPP是一种基于XML的即时通讯协议,它最初源于Jabber项目,用于实现服务器之间的即时消息传递和在线状态探测。...

    项目是基于xmpp的android客户端,实现与物联网节点的交互。.zip

    为了满足广大Android开发爱好者与从业者的学习需求,我们精心整理并上传了一份全面而实用的Android项目资源包。这份资源包内容丰富,涵盖了从基础知识到实战应用的全方位内容,旨在为开发者们提供一个便捷、高效的...

    OpenFire深入浅出(完整版电子书)

    OpenFire是一款开源的即时消息服务器,它基于XMPP(可扩展通讯和表示协议)协议进行通信。OpenFire为国内企业提供了便利,尤其在移动互联网背景下,IM...本书不仅是作者的学习笔记,也是一本适合读者参考的实用指南。

    ActiveMQ 教学视频/教程 /附带笔记等资源

    在学习过程中,你可以通过观看视频来直观了解ActiveMQ的操作,查阅笔记回顾关键知识点,阅读案例文档以了解实际应用。这些资源将帮助你快速掌握ActiveMQ的使用,并将其有效地应用于你的IT项目中。

    freeswitch笔记.7z

    这个名为“freeswitch笔记.7z”的压缩包可能包含了一份关于FreeSWITCH的详细学习资料或个人笔记,帮助用户理解和掌握FreeSWITCH的使用和配置。 FreeSWITCH的核心特性包括: 1. **多平台支持**:FreeSWITCH可以在...

    activemq系列笔记

    - **多协议支持**:除了JMS,ActiveMQ还支持AMQP、STOMP、XMPP、OpenWire等多种协议,方便与不同平台和语言的系统集成。 - **消息优先级**:ActiveMQ允许设置消息优先级,优先处理重要消息。 - **负载均衡**...

    基于Android的高校学习交友分享平台(源码 + 演示视频)

    3. 笔记与讨论:用户可以创建和分享学习笔记,参与课程讨论区,促进知识交流。 四、性能优化 1. 异步处理:使用AsyncTask、Handler或RxJava处理耗时操作,避免阻塞主线程,提高用户体验。 2. 内存管理:合理使用...

    基于 OpenFire 的TVBox管理平台开发笔记的工程源码

    在本项目中,我们主要探讨的是一个基于OpenFire构建的TVBox管理平台的开发实践。OpenFire是一款开源的...对于学习者来说,这个项目不仅提供了实践经验,也展示了如何将各种技术融合在一起,构建一个完整的业务系统。

Global site tag (gtag.js) - Google Analytics