文档章节

Xmpp初始连接交互内容

greki
 greki
发布于 2014/05/09 10:25
字数 1067
阅读 1272
收藏 9
  1. ####client下线  
  2. <presence type="unavailable">  
  3. <status>Logged out</status>  
  4. </presence>  
  1. ####client发起连接  
  2. <?xml version="1.0"?>  
  3. <stream:stream xmlns:stream="http://etherx.jabber.org/streams" version="1.0" xmlns="jabber:client" to="xumatomacbook-pro.local" xml:lang="en" xmlns:xml="http://www.w3.org/XML/1998/namespace">  
  1. ####server相应并回复验证的features  
  2. <?xml version='1.0'?><stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' from='xumatomacbook-pro.local' id='675c6847-c13d-4710-9844-d9339e4df087' version='1.0' xml:lang='en'>  
  3.   
  4. <stream:features>  
  5. <ver xmlns="urn:xmpp:features:rosterver"/>  
  6. <starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/>  
  7. <mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl">  
  8. <mechanism>PLAIN</mechanism>  
  9. <mechanism>ANONYMOUS</mechanism>  
  10. </mechanisms>  
  11. <register xmlns="http://jabber.org/features/iq-register"/>  
  12. <auth xmlns="http://jabber.org/features/iq-auth"/>  
  13. </stream:features>  
  1. ####client启动tls验证  
  2. <starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/>  
  1. ####server表示支持,可以继续  
  2. <proceed xmlns="urn:ietf:params:xml:ns:xmpp-tls"/>  
  1. ####tls验证结束,重新开始  
  2. <?xml version="1.0"?>  
  3.   
  4. <stream:stream xmlns:stream="http://etherx.jabber.org/streams" version="1.0" xmlns="jabber:client" to="xumatomacbook-pro.local" xml:lang="en" xmlns:xml="http://www.w3.org/XML/1998/namespace">  
  1. ####server响应,并返回下一步验证支持的features,sasl  
  2. <?xml version='1.0'?><stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' from='xumatomacbook-pro.local' id='675c6847-c13d-4710-9844-d9339e4df087' version='1.0' xml:lang='en'>  
  3.   
  4.   
  5. <stream:features>  
  6. <ver xmlns="urn:xmpp:features:rosterver"/>  
  7. <mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl">  
  8. <mechanism>PLAIN</mechanism>  
  9. <mechanism>ANONYMOUS</mechanism>  
  10. </mechanisms>  
  11. <register xmlns="http://jabber.org/features/iq-register"/>  
  12. <auth xmlns="http://jabber.org/features/iq-auth"/>  
  13. </stream:features>  
  1. ####client开始sasl验证  
  2. <auth xmlns="urn:ietf:params:xml:ns:xmpp-sasl" mechanism="PLAIN">AGd1YW5mZWkAZ3VhbmZlaQ==</auth>  
  1. ####server表示成功了  
  2. <success xmlns="urn:ietf:params:xml:ns:xmpp-sasl"/>  
  1. ####client重新开始  
  2. <?xml version="1.0"?>  
  3.   
  4.   
  5. <stream:stream xmlns:stream="http://etherx.jabber.org/streams" version="1.0" xmlns="jabber:client" to="xumatomacbook-pro.local" xml:lang="en" xmlns:xml="http://www.w3.org/XML/1998/namespace">  
  1. ####server响应并返回支持的features  
  2. <?xml version='1.0'?><stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' from='xumatomacbook-pro.local' id='675c6847-c13d-4710-9844-d9339e4df087' version='1.0' xml:lang='en'>  
  3.   
  4.   
  5. <stream:features>  
  6. <ver xmlns="urn:xmpp:features:rosterver"/>  
  7. <session xmlns="urn:ietf:params:xml:ns:xmpp-session"/>  
  8. <register xmlns="http://jabber.org/features/iq-register"/>  
  9. <bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/>  
  10. </stream:features>  
  1. ####client请求resource bind  
  2. <iq type="set" id="bind_1">  
  3. <bind xmlns="urn:ietf:params:xml:ns:xmpp-bind">  
  4. <resource>Psi+</resource>  
  5. </bind>  
  6. </iq>  
  1. ####server判断并返回结果  
  2. <iq xmlns="jabber:client" type="result" id="bind_1" to="guanfei@xumatomacbook-pro.local/Psi+">  
  3. <bind xmlns="urn:ietf:params:xml:ns:xmpp-bind">  
  4. <jid>guanfei@xumatomacbook-pro.local/Psi+</jid>  
  5. </bind>  
  6. </iq>  
  1. ####client发起session  
  2. <iq type="set" id="ab46a">  
  3. <session xmlns="urn:ietf:params:xml:ns:xmpp-session"/>  
  4. </iq>  
  1. ####server端响应  
  2. <iq type="result" id="ab46a" to="guanfei@xumatomacbook-pro.local/Psi+"/>  
  1. ####client端请求roster列表  
  2. <iq type="get" id="ab47a">  
  3. <query xmlns="jabber:iq:roster"/>  
  4. </iq>  
  1. ####server端返回  
  2. <iq type="result" id="ab47a" to="guanfei@xumatomacbook-pro.local/Psi+">  
  3. <query xmlns="jabber:iq:roster">  
  4. <item subscription="both" name="ohno" jid="guanfei1@xumatomacbook-pro.local"/>  
  5. </query>  
  6. </iq>  
  1. ####client广播自己的出席信息  
  2. <presence>  
  3. <priority>50</priority>  
  4. <c xmlns="http://jabber.org/protocol/caps" node="http://psi-dev.googlecode.com/caps" ver="0.16" ext="ca cs e-time ep-notify-2 html last-act mr sxe whiteboard"/>  
  5. </presence>  
  1. ####client请求自己的个人信息  
  2. <iq type="get" id="ab49a">  
  3. <query xmlns="jabber:iq:privacy"/>  
  4. </iq>  
  1. ####client请求bookmark  
  2. <iq type="get" id="ab4aa">  
  3. <query xmlns="jabber:iq:private">  
  4. <storage xmlns="storage:bookmarks"/>  
  5. </query>  
  6. </iq>  
  1. ####client请求个人vcard  
  2. <iq type="get" to="guanfei@xumatomacbook-pro.local" id="ab4ba">  
  3. <vCard xmlns="vcard-temp"/>  
  4. </iq>  
  1. ####client请求disco列表  
  2. <iq type="get" to="xumatomacbook-pro.local" id="ab4ca">  
  3. <query xmlns="http://jabber.org/protocol/disco#info"/>  
  4. </iq>  
  1. ####server广播出席信息  
  2. <presence from="guanfei@xumatomacbook-pro.local/Psi+" to="guanfei@xumatomacbook-pro.local">  
  3. <priority>50</priority>  
  4. <c xmlns="http://jabber.org/protocol/caps" node="http://psi-dev.googlecode.com/caps" ver="0.16" ext="ca cs e-time ep-notify-2 html last-act mr sxe whiteboard"/>  
  5. </presence>  
  1. ####server返回个人信息项列表  
  2. <iq type="result" id="ab49a" to="guanfei@xumatomacbook-pro.local/Psi+">  
  3. <query xmlns="jabber:iq:privacy">  
  4. <list name="blocked"/>  
  5. <default name="blocked"/>  
  6. <active name="blocked"/>  
  7. </query>  
  8. </iq>  
  1. ####client请求block项内容  
  2. <iq type="get" id="ab4da">  
  3. <query xmlns="jabber:iq:privacy">  
  4. <list name="blocked"/>  
  5. </query>  
  6. </iq>  
  1. ####server返回bookmark信息  
  2. <iq type="result" id="ab4aa" to="guanfei@xumatomacbook-pro.local/Psi+">  
  3. <query xmlns="jabber:iq:private">  
  4. <storage xmlns="storage:bookmarks"/>  
  5. </query>  
  6. </iq>  
  1. ####server返回vcard信息  
  2. <iq from="guanfei@xumatomacbook-pro.local" type="result" to="guanfei@xumatomacbook-pro.local/Psi+" id="ab4ba">  
  3. <vCard xmlns="vcard-temp">  
  4. <FN>guanfei</FN>  
  5. <NICKNAME>guanfei</NICKNAME>  
  6. </vCard>  
  7. </iq>  
  1. ####server返回disco列表  
  2. <iq from="xumatomacbook-pro.local" type="result" to="guanfei@xumatomacbook-pro.local/Psi+" id="ab4ca">  
  3. <query xmlns="http://jabber.org/protocol/disco#info">  
  4. <identity category="server" type="im" name="Tigase ver. 0.0.0-0"/>  
  5. <feature var="http://jabber.org/protocol/disco#info"/>  
  6. <feature var="http://jabber.org/protocol/disco#items"/>  
  7. <feature var="msgoffline"/>  
  8. <feature var="http://jabber.org/protocol/stats"/>  
  9. <feature var="http://jabber.org/protocol/commands"/>  
  10. <feature var="jabber:iq:version"/>  
  11. <feature var="jabber:iq:roster"/>  
  12. <feature var="jabber:iq:roster-dynamic"/>  
  13. <feature var="vcard-temp"/>  
  14. <feature var="urn:ietf:params:xml:ns:xmpp-sasl"/>  
  15. <feature var="urn:xmpp:ping"/>  
  16. <feature var="http://jabber.org/protocol/pubsub"/>  
  17. <feature var="http://jabber.org/protocol/pubsub#owner"/>  
  18. <feature var="http://jabber.org/protocol/pubsub#publish"/>  
  19. <identity category="pubsub" type="pep"/>  
  20. <feature var="urn:ietf:params:xml:ns:xmpp-session"/>  
  21. <feature var="http://jabber.org/protocol/amp"/>  
  22. <feature var="msgoffline"/>  
  23. <feature var="http://jabber.org/protocol/disco#info"/>  
  24. <feature var="http://jabber.org/protocol/disco#items"/>  
  25. <feature var="jabber:iq:privacy"/>  
  26. <feature var="urn:ietf:params:xml:ns:xmpp-bind"/>  
  27. <feature var="jabber:iq:private"/>  
  28. <feature var="jabber:iq:auth"/>  
  29. </query>  
  30. </iq>  
  1. <presence from="guanfei1@xumatomacbook-pro.local/Psi+" to="guanfei@xumatomacbook-pro.local">  
  2. <priority>50</priority>  
  3. <c xmlns="http://jabber.org/protocol/caps" node="http://psi-dev.googlecode.com/caps" ver="0.16" ext="ca cs e-time ep-notify-2 html last-act mr sxe whiteboard"/>  
  4. </presence>  
  1. <iq type="result" id="ab4da" to="guanfei@xumatomacbook-pro.local/Psi+">  
  2. <query xmlns="jabber:iq:privacy">  
  3. <list name="blocked">  
  4. <item action="allow" order="100"/>  
  5. </list>  
  6. </query>  
  7. </iq>  

本文转载自:http://blog.csdn.net/wanyanxgf/article/details/8510336

共有 人打赏支持
greki
粉丝 100
博文 109
码字总数 45236
作品 0
杭州
技术主管
私信 提问
XMPP 协议适合用来做移动 IM 么

XMPP 协议是什么 XMPP(Extensible Messaging and Presence Protocol,前称Jabber)是一种以 XML 为基础的开放式实时通信协议,关于它的协议细节,网上已经有太多分析文章,我这里就不再赘述...

都比zunxi
2014/09/03
7.9K
6
翻译XEP-0124: HTTP Binding(转)

这个文档定义了http层与xmpp之间的通讯联络。(这里是原文档。) NOTICE:这个协议是Jabber Softeware Foundation(JSF)的一个草案,在它成为正式的标准前可能会有一些其他的变化。 协议信息...

JayPark不作死
2014/08/25
0
0
XMPP/Jingle Vs SIP/SIMPLE 的简单介绍

过去一年多,一直关注这方面的技术和发展,这里有一个简单的介绍,我觉得比较简洁明了。我做了一点翻译,还有我的一些评估。 徐建锋 SIP vs XMPP (Jabber) SIP and XMPP are application la...

杨子江
2014/01/21
0
0
Android Push 开源方案解析

在 Android 上,因为 Google 自己实现的 Android 标配的 GCM (Google Cloud Messaging,原来叫 C2DM) 在国内基本不可用,所以,对于开发者来说,如果需要 Push功能,怎么样选择成为了一个问题...

极光推送
2012/11/30
5.8K
85
详解Zoosk千万用户实时通信背后的开源技术[转]

http://www.csdn.net/article/2012-09-10/2809790-zoosk-the-engineering-behind-real-time 摘要:Zoosk是一个具有5000万会员的浪漫的社交约会网站,为了更好的让用户体验实时通信,让他们获...

强子哥哥
2016/05/25
66
0

没有更多内容

加载失败,请刷新页面

加载更多

MQ学习-基本概念区分

消息队列 Kafka 涉及的专有名词和术语进行定义和解释,方便您更好地理解相关概念并使用该产品。 Broker: 消息队列 Kafka 集群包含一个或多个消息处理服务器,该服务器被称为 Broker。 Topi...

os1cheng
21分钟前
0
0
腾讯怒怼:靠红包骗用户下载怎么可以叫产品

近日,社交圈出现了大动荡,三款新推出的社交软件全部被微信封杀,对此,腾讯公关总监在回应外界对于1月15日三款社交新产品撼动微信的消息,他呼吁媒体在批评的同时应当尊重事实,“我们尊重...

linux-tao
今天
2
0
面试必考-数据优化

sql语句优化 性能不理想的系统中除了一部分是因为应用程序的负载确实超过了服务器的实际处理能力外,更多的是因为系统存在大量的SQL语句需要优化。 为了获得稳定的执行性能,SQL语句越简单越好...

瑞查德-Jack
今天
4
0
spring aop学习

1.aop和spring aop的关系? aop是一种思想,spring aop是aop的一种实现。 2.Spring aop和AspectJ的关系? 这两种都是实现aop的,spring借助AspectJ的语法实现aop的功能 3.@AspectJ support和...

llsydn
今天
4
0
OSChina 周六乱弹 —— 世界的源代码

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @小鱼丁 :#今日歌曲推荐# 分享Jason Mraz的单曲《Prettiest Friend (Demo)》: 《Prettiest Friend (Demo)》- Jason Mraz 手机党少年们想听歌...

小小编辑
今天
497
12

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部