由客户端发起

C: <stream:stream to="localhost" xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" version="1.0">

服务器开始响应

S:<stream:stream from='localhost' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' id='1959'>

 

验证请求

C:

<iq id="8AUK4-0" type="get">
  <query xmlns="jabber:iq:auth">
    <username>2</username>
  </query>
</iq>

协商协议

S:

<iq id="8AUK4-0" to="localhost" type="result">
  <query xmlns="jabber:iq:auth">
    <username>2</username>
    <password/>
  </query>
</iq>

 

登录包

C:

<iq id="8AUK4-1" type="set">
  <query xmlns="jabber:iq:auth">
    <username>2</username>
    <password>2</password>
    <resource>Spark 2.6.3</resource>
  </query>
</iq>

登录成功结果

S:

<iq id="8AUK4-1" from="localhost" type="result"/>

 

取得好友名单

C:

<iq id="8AUK4-2" type="get">
  <query xmlns="jabber:iq:roster"/>
</iq>

 

返回名单

S:

<iq id="8AUK4-2" to="2@localhost/Spark 2.6.3" type="result">
  <query xmlns="jabber:iq:roster">
    <item jid="1@localhost" name="张三" subscription="both">
      <group>Friends</group>
    </item>
    <item jid="3@localhost" name="3@localhost" subscription="none" ask="subscribe">
      <group>Friends</group>
    </item>
  </query>
</iq>

 

 

C:

<iq id="8AUK4-3" to="localhost" type="get">
  <query xmlns="http://jabber.org/protocol/disco#items"/>
</iq>

 

S:

<iq id="8AUK4-3" to="2@localhost/Spark 2.6.3" from="localhost" type="result">
  <query xmlns="http://jabber.org/protocol/disco#items">
    <item jid="conference.localhost" name="Chatroom Service"/>
  </query>
</iq>

 

 

C: 表示client

S: 表示Server

简单的XMPP服务器与客户端交互的更多相关文章

  1. 游戏服务器与客户端交互,或者与跨服交互都有消息加密方式,为什么不明文传递,加md5校验呢

    游戏服务器与客户端交互,或者与跨服交互都有消息加密方式,为什么不明文传递,加md5校验呢

  2. upd套接字服务器与客户端交互C++代码示范

    upd套接字服务器与客户端交互C++代码示范 // vc2_2_4UDPserver_Txwtech.cpp : 定义控制台应用程序的入口点. //服务器端 #include "StdAfx ...

  3. C# Socket简单例子(服务器与客户端通信)

    这个例子只是简单实现了如何使用 Socket 类实现面向连接的通信. 注意:此例子的目的只是为了说明用套接字写程序的大概思路,而不是实际项目中的使用程序.在这个例子中,实际上还有很多问题没有解决,如消 ...

  4. netty入坑第一步:了解netty和编写简单的Echo服务器和客户端

    早期java API通过原生socket产生所谓的"blocking",大致过程是这样 这种的特点是每次只能处理一个请求,如果要实现多个请求并行,就还要分配一个新的线程来给每个客户 ...

  5. (转)C# Socket简单例子(服务器与客户端通信)

    本文转载自:http://blog.csdn.net/andrew_wx/article/details/6629721 这个例子只是简单实现了如何使用 Socket 类实现面向连接的通信. 注意:此 ...

  6. (转)初学Git及简单搭建git服务器和客户端

    终于搞定,mac自己作为git服务器,mac也是客户端,如何免登 从另外一个linux服务器的上传公钥得到提示 ssh-copy-id -i ~/.ssh/id_rsa.pub git@192.168 ...

  7. 最简单的socket服务器与客户端

    服务器: //服务器 #include <stdio.h> #include <netinet/in.h> #include <unistd.h> #include ...

  8. python一个简单的web服务器和客户端

    服务器:      当客户联系时创建一个连接套接字      从这个连接接收HTTP请求(*)      解释该请求所请求的特定文件      从服务器的文件系统获取该文件      并发送文件内容 ...

  9. python写一些简单的tcp服务器和客户端

    代码贴上,做个记录 TcpClient # -*- coding:utf-8 -*- import socket target_host = "127.0.0.1" #服务器端地址 ...

随机推荐

  1. Java-CSV文件读取

    import java.io.BufferedReader; import java.io.FileInputStream; import java.io.IOException; import ja ...

  2. 怎样取得selected的option选项的value值

    现在有一id=test的下拉框,怎么拿到选中的那个值呢?   分别使用javascript原生的方法和jquery方法   <select id="test"  name=& ...

  3. svn: Can't connect to host

    关于“svn: Can't connect to host '*.*.*.*': 由于连接方在一段时间后没有正确答复或连接”的解决方法   阿里云服务器环境(PHP+Nginx+MySQL) [原因1 ...

  4. Linux系统中当前路径不加入PATH的原因

    主要是出于安全的考虑,由于系统默认是允许所有人在/tmp下写入任何文件的,万一有居心不良的用户或者黑客入侵到计算机,并在/tmp下面埋下木马,名字为ls,当用户用root身份登录后,到/tmp目录执行 ...

  5. Idea安装lombok插件及使用

    安装lombok插件:File-settings 具体步骤如下图:1 2.找到Plugins 然后在搜索栏里搜索lombok 点击下放的Search in repositories 3.选中lombo ...

  6. 多校训练4——Hehe

    递推题: dp[i]表示字符串第i个字母前有多少种不同的方法 1.出现一个hehe:dp[i]=dp[i-4]+dp[i-2] 意思是dp[i]=当前的hehe换成wqnmlgb+当前的hehe不换成 ...

  7. cmd 中连接mysql时报'mysql'不是内部或外部命令,也不是可运行的程序或批处理文件,该怎么办?

    假设安装的mysql目录是D:\MySQL\MySQL_Server_5.5\第一种方法:如果你打开cmd后直接输入mysql是不行的,需要配置mysql的环境变量,那么就在环境变量中增加D:\MyS ...

  8. STL 中的map 与 hash_map的理解

    可以参考侯捷编著的<STL源码剖析> STL 中的map 与 hash_map的理解 1.STL的map底层是用红黑树存储的,查找时间复杂度是log(n)级别: 2.STL的hash_ma ...

  9. 【微服务架构】SpringCloud之Ribbon(四)

    一:Ribbon是什么? Ribbon是Netflix发布的开源项目,主要功能是提供客户端的软件负载均衡算法,将Netflix的中间层服务连接在一起.Ribbon客户端组件提供一系列完善的配置项如连接 ...

  10. Domino 迁移到Exchange 之 Domino Admin 安装!

    双击Setup 安装: