`
bluky999
  • 浏览: 719756 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论
阅读更多

XMPP协议中,隐私策略按内容分 presence-in, presence-out, message, iq 4种,分别可以用于 用户和用户组,属于扩展协议,命名空间是 jabber:iq:privacy 

 

 

协议XML Schemas 在 http://xmpp.org/protocols/jabber_iq_privacy/ 

 

 

协议具体内容在 http://xmpp.org/extensions/xep-0016.html  【这里有大量的例子可供参考】

 


隐私消息的基本语法语义:

 

 

<iq>
  <query xmlns='jabber:iq:privacy'>
    <list name='foo'>
      <item
          type='[jid|group|subscription]'
          value='bar'
          action='[allow|deny]'
          order='unsignedInt'>
        [<message/>]
        [<presence-in/>]
        [<presence-out/>]
        [<iq/>]
      </item>
    </list>
  </query>
</iq>
 

 

此协议最主要的应用场合就是添加、删除好友时的订阅关系处理 和 黑名单功能!

 

 

常见的几种 privacy list 及 active 和 default 设置

 

<iq type='result' id='getlist1' to='romeo@example.net/orchard'>
<query xmlns='jabber:iq:privacy'>
  <active name='private'/>
  <default name='public'/>
  <list name='public'/>
  <list name='private'/>
  <list name='special'/>
</query>
</iq>

 

 

修改: ative或default

 

<iq from='romeo@example.net/orchard' type='set' id='active1'>
<query xmlns='jabber:iq:privacy'>
  <active name='special'/>
</query>
</iq>

 

 

 

删除:active或default

 

<iq from='romeo@example.net/orchard' type='set' id='default2'>
<query xmlns='jabber:iq:privacy'>
  <default/>
</query>
</iq>

 

 

 

屏蔽用户

 

 

<iq from='romeo@example.net/orchard' type='set' id='all1'>
<query xmlns='jabber:iq:privacy'>
  <list name='all-jid-example'>
    <item type='jid'
          value='tybalt@example.com'
          action='deny'
          order='23'/>
  </list>
</query>
</iq>

 

 

屏蔽组

 

 

<iq from='romeo@example.net/orchard' type='set' id='all2'>
<query xmlns='jabber:iq:privacy'>
  <list name='all-group-example'>
    <item type='group'
          value='Enemies'
          action='deny'
          order='13'/>
  </list>
</query>
</iq>

 

 

只屏蔽消息

 

 

<iq from='romeo@example.net/orchard' type='set' id='msg1'>
<query xmlns='jabber:iq:privacy'>
  <list name='message-jid-example'>
    <item type='jid'
          value='tybalt@example.com'
          action='deny'
          order='3'>
      <message/>
    </item>
  </list>
</query>
</iq>

 

 

 

全局屏蔽用户

 

<iq from='romeo@example.net/orchard' type='set' id='all4'>
<query xmlns='jabber:iq:privacy'>
  <list name='all-global-example'>
    <item action='deny' order='7'/>
  </list>
</query>
</iq>

 

 

0
0
分享到:
评论

相关推荐

    在android环境下 用XMPP协议数据传输程序

    首先,理解XMPP协议的关键概念是JID(Jabber ID),它是XMPP网络中的用户身份标识,类似于电子邮件地址。在Android应用中,通常会要求用户输入其gmail邮箱,因为Google的Talk服务(现为Hangouts)就是基于XMPP协议的...

    openfire xmpp协议源码

    《Openfire与XMPP协议在Android即时通讯中的应用解析》 Openfire是一款开源的服务器软件,它基于XMPP(Extensible Messaging and Presence Protocol)协议,为实时通信提供了一个强大而灵活的平台。XMPP,原名为...

    IM 基于XMPP协议

    在实际开发中,还需要考虑一些其他关键点,如安全性和隐私保护,这通常涉及到SSL/TLS加密,以及对用户数据的存储和访问策略。另外,性能优化也是必要的,比如消息的批量发送和接收,以及合理的资源管理,以降低网络...

    XMPP协议学习资料

    因此,出现了Asmack,这是一个专门为Android优化的Smack版本,它包含了Android缺少的Java类库,使得开发者能够在Android应用中使用XMPP协议。 为了实现在Android客户端与服务器之间的持久连接,以实现服务器向...

    XMPP即时通信 协议

    这个文档集可能是对XMPP协议的详细解释,包括其核心概念、工作原理以及如何在实际应用中部署和使用。 XMPP的核心特性包括: 1. **可扩展性**:XMPP基于XML,允许通过定义新的XML元素和命名空间来扩展协议,以适应...

    xmpp协议聊天

    在你的项目中,你利用XMPP协议来实现登录、聊天以及获取好友列表的功能,并且选择了Jabber服务器作为后台支持。 首先,让我们详细了解一下XMPP的核心概念: 1. **XMPP架构**:XMPP网络由客户端、服务器和组件构成...

    基于openfire服务器的xmpp协议的andorid端聊天daem

    本文将深入探讨基于Openfire服务器、使用XMPP协议构建的Android端聊天应用程序的知识点。 首先,Openfire是一款开源的即时通讯服务器,它基于XMPP(Extensible Messaging and Presence Protocol)协议,提供实时...

    xmpp demo

    综上所述,“xmpp demo”项目涵盖了Android即时通讯应用的开发,涉及到XMPP协议的使用、服务器搭建、客户端库的选择和集成,以及聊天功能的实现。通过这个项目,开发者可以学习到如何在移动环境中实现实时通信,为...

    安卓即时通讯基于xmpp

    1. **XMPP协议简介** XMPP基于XML流协议,由 Jabber 开源项目发展而来,已被IETF标准化。XMPP的核心概念包括客户端、服务器端以及服务器之间的连接。它支持一对一聊天、群聊、文件传输、在线状态显示等多种功能,...

    使用xmpp实现的聊天

    - `XMPPFramework`是一个流行的开源库,专为iOS和Mac开发者设计,用于处理XMPP协议。 - 该框架由Artem Gribanov(aka “robbiehanson”)创建,提供了易于使用的API,简化了XMPP的实现。 3. **集成XMPPFramework*...

    xMPP练习Demo

    【XMPP练习Demo】是一个基于XMPP协议的即时通讯应用示例,旨在帮助开发者学习和实践如何构建类似微信的功能,包括文字聊天、语音通话等。XMPP(Extensible Messaging and Presence Protocol)是一种开放标准的即时...

    微信聊天界面(登陆,XMPP)

    1. **XMPP协议**:XMPP是一种开放标准的协议,它允许用户进行实时、双向的数据交换,适用于聊天、文件传输、群聊等多种应用场景。微信在实现登录功能时选择XMPP,是因为其强大的扩展性、灵活性和安全性。XMPP通过TCP...

    WeChat_wechat_交友_xmpp_android_

    总的来说,仿制一款基于XMPP协议的Android版微信,不仅涉及到XMPP协议的理解和实现,还需要具备扎实的Android开发技能,包括UI设计、网络编程、数据存储和安全策略。这是一个涵盖多方面知识和技术的综合性项目,对于...

    Android基于XMPP的仿微信微客服项目

    3. **在线状态显示**:用户可以查看自己和他人的在线状态,这需要通过XMPP协议发送和接收“在线状态”信息。 4. **实时消息传输**:应用的核心功能是聊天,这要求实现一对一和群组聊天的功能,确保消息的实时性和...

    XMPP-RFC3921.rar_doc_rfc3921_xmpp

    综上所述,XMPP-RFC3921文档详细阐述了XMPP协议的核心组成部分,对于理解即时通讯背后的机制和技术有着至关重要的作用。通过深入学习和实践,开发者可以利用这些知识构建安全、高效且具有高度定制性的通讯解决方案。

    XMPP本地服务器的即时通讯

    7. **扩展功能**:XMPP协议设计为可扩展,允许开发者添加自定义功能,如群聊、文件共享、音视频通话等。这些扩展通常以XEP(XMPP Extension Protocols)的形式存在,可以在服务器和客户端之间实现。 8. **安全与...

    Android XMPP研究.zip

    1. **XMPP协议基础**:XMPP基于XML,采用客户端-服务器架构,允许用户通过发送和接收XML流进行通信。它提供了一套完整的框架,包括身份验证、加密、多用户聊天、文件传输等功能。 2. **Android SDK集成**:在...

    xmpp clustering

    XMPP(Extensible Messaging and ...综上所述,这篇关于"XMPP clustering"的博客可能深入讨论了XMPP协议在集群环境下的部署、配置和优化,以及相关的授权管理策略,为读者提供了构建和维护高可用XMPP服务的实用指导。

    XMPP学习宝典

    3. **XMPP协议核心** - **Presence(在线状态)**: 用户可以广播自己的在线状态,如在线、离线、隐身等。 - **Message(消息)**: 实时文本、文件、音视频等数据的传输。 - **IQ(信息查询)**: 用于获取服务器...

    Android-XMPP-即时通讯

    本项目“Android-XMPP-即时通讯”就是利用XMPP协议在Android设备上开发的一个即时通讯应用。 1. **Smack库介绍**: Smack是Java语言的一个XMPP库,它提供了与XMPP服务器交互的API,包括连接、身份验证、发送和接收...

Global site tag (gtag.js) - Google Analytics