`
coderplay
  • 浏览: 578021 次
  • 性别: Icon_minigender_1
  • 来自: 广州杭州
社区版块
存档分类
最新评论

用telnet来与ejabberd交互

XML 
阅读更多
看了一篇文章,觉得用telnet来调试ejabberd也是一种好办法,同时可以明文看到服务器返回的xml. 先telnet上去

 代码
 
  1. # telnet 192.168.0.97 5222  
  2. Trying 192.168.0.97...  
  3. Connected to erlt97.3322.org (192.168.0.97).  
  4. Escape character is '^]'.  

连接被接收啦,客户端发送
xml 代码
 
  1. <?xml version='1.0'?>  
  2. <stream:stream xmlns:stream="http://etherx.jabber.org/streams" to="192.168.0.97" xmlns="jabber:client">  

服务器会返回
xml 代码
 
  1. <?xml version='1.0'?>  
  2. <stream:stream xmlns='jabber:client'   
  3.     xmlns:stream='http://etherx.jabber.org/streams'   
  4.     id='3089822900'   
  5.     from='192.168.0.97'   
  6.     xml:lang='en'>  

然后再用coderplay登陆进去看看,jabberd的user@domain/resource格式

xml 代码
 
  1. <iq type='set' id='auth'>                      
  2. <query xmlns='jabber:iq:auth'>                     
  3.         <username>coderplay</username>                      
  4.         <password>123456</password>                       
  5.         <resource>TelnetClient</resource>  
  6. </query></iq>  

服务器如果成功,则只返回:
xml 代码
 
  1. <iq type='result' id='auth'/>  
客户端想看看现在的状态
xml 代码
 
  1. <presence/>  
服务器就会返回:
xml 代码
 
  1. <presence from='admin@192.168.0.97/Psi' to='coderplay@192.168.0.97/TelnetClient'>  
  2. <priority>5</priority>  
  3. </presence><presence from='coderplay@192.168.0.97/Psi' to='coderplay@192.168.0.97/TelnetClient'>  
  4. <priority>5</priority>  
  5. </presence>  

原来admin在上面嘞, coderplay发个消息过去:
xml 代码
 
  1. <message to='admin@192.168.0.97/Psi'>   
  2. <subject>Hello</subject>                        
  3. <body>I am chatting with a Telnet client ! </body>                                   
  4. </message>  

admin从psi客户端收到消息啦.


admin从psi窗口回复一条消息"Just a reply, I am admin. "给coderplay@192.168.0.97/TelnetClient.那么正在telnet的coderplay就会收到:
xml 代码
 
  1. <message from='admin@192.168.0.97/Psi' to='coderplay@192.168.0.97/TelnetClient' 
  2. id='ab52a'>  
  3. <subject>Re: Hello<!----></subject>  
  4. <body>Just a reply, I am admin.<!----></body>  
  5. <!----></message>  

admin发完后, 从psi客户端那儿下线了,则coderplay会收到:

xml 代码
 
  1. <presence from='admin@192.168.0.97/Psi' to='coderplay@192.168.0.97/TelnetClient' 
  2. type='unavailable'>  
  3. <status>Logged out<!----> </status>  
  4. <!----></presence>  

admin闪了,coderplay也先,那怎么从telnet下线呢? 用
xml 代码
 
  1. <!----></stream:stream>  

tel回复
xml 代码
 
  1. <!----></stream:stream>Connection closed by foreign host.  
成功下线!!
  • 大小: 26.3 KB
分享到:
评论

相关推荐

    ejabberd源码

    ejabberd是一款强大的即时通讯服务器,它基于Jabber/XMPP协议,这使得ejabberd能够支持丰富的交互式通信功能,如文本聊天、音视频通话、群聊、文件传输等。作为一款开源软件,ejabberd遵循GPLv2许可证,允许用户自由...

    iOS xmpp ejabberd服务器

    本文件主要关注的是如何在iOS平台上使用XMPP与ejabberd服务器进行集成,实现即时通讯功能。 ejabberd是一款开源的XMPP服务器,支持多种平台,包括iOS。它提供了强大的可扩展性和高可用性,能够处理大量的并发用户,...

    ejabberd 服务器测试客户端spark

    在部署ejabberd服务器后,为了确保其正确配置和功能正常,通常需要一个客户端来进行测试。在这个场景中,"ejabberd 服务器测试客户端spark"就是这样一个工具,用于验证ejabberd服务器的安装和运行情况。 Spark是一...

    ejabberd安装配置[归纳].pdf

    Ejabberd提供了一个基于Web的管理控制台,用户可以通过该控制台来管理和配置Ejabberd服务。该控制台提供了丰富的管理功能,包括用户管理、群组管理、消息管理等。 Ejabberd配置文件 Ejabberd的配置文件是用于配置...

    Android使用smack连接ejabberd服务器注册、收发消息

    在Android平台上,开发即时通讯应用时,我们常常会利用XMPP(Extensible Messaging and Presence Protocol)协议来实现。本文将详细讲解如何使用Smack库连接到ejabberd服务器,并进行用户注册、登录以及收发消息的...

    Android IM开发 Ejabberd+asmck+spack

    asmck是专门为Android平台设计的Ejabberd客户端库,它是一个Java封装的SDK,使得开发者能够更便捷地在Android应用中实现与Ejabberd服务器的交互。通过asmck,开发者可以轻松实现登录认证、发送接收消息、管理联系人...

    ejabberd 群聊 strophe.js 实现

    在这个场景中,我们关注的是如何使用strophe.js库在前端实现与ejabberd服务器的交互,特别是群聊功能。 strophe.js是一个轻量级的JavaScript库,用于处理XMPP协议。它使得在浏览器环境中与XMPP服务器进行通信成为...

    android+ejabberd

    IM(ejabberd)服务器的客户端android开发的代码详解,该代码例子包含单聊、群聊、发送文字、发送及接收文件等功能。

    ejabberd windows installer

    - **数据库配置**:ejabberd可以使用多种数据库,如SQLite、MySQL、PostgreSQL等,根据实际需求选择合适的数据库并配置连接信息。 - **服务配置**:配置ejabberd服务,包括监听的端口、认证方式、模块启用等,这些...

    ejabberd中mod_privacy_odbc.erl实现没有完全遵循xmpp协议

    在ejabberd中,`mod_privacy_odbc.erl`是用于处理用户隐私列表模块的一部分,该模块与数据库(通常通过ODBC接口)交互来存储和管理用户的隐私设置。然而,题目指出`mod_privacy_odbc.erl`的实现并没有完全遵循XMPP...

    ejabberd_rest_client:面向ejabberd的REST客户端

    ejabberd_rest_client是与ejabberd服务器交互的一个客户端库,它利用ejabberd的API接口,通过RESTful方式来操作ejabberd服务器,实现了对ejabberd服务器的远程控制和数据管理。 ejabberd API是ejabberd服务器提供的...

    ejabberd-14.07聊天服务器

    5. **API接口**:ejabberd提供RESTful API和XML-RPC接口,方便开发者通过编程方式与服务器交互,实现自动化管理和定制功能。 6. **社区活跃**:ejabberd有一个活跃的开发者社区,不断有新的插件和更新发布,为用户...

    ejabberd的安装包

    ejabberd安装包,很好的工具!适合安装!一定会很好用的!

    ejabberd安装配置.docx

    Ejabberd 需要使用 IM 客户端来进行即时通信。常用的 IM 客户端有 Spark IM 和 Pandion。 Spark IM 是一个基于 XMPP 协议的即时通讯客户端,支持多种聊天室、视频聊天、文件传输等功能。 Pandion 是一个基于 XMPP ...

    ejabberd-module-guide:创建模块的指南

    ejabberd 模块的权威指南从编写 ejabberd 模块开始对我来说真的很痛苦。...基于钩子的基于钩子的模块允许您基于钩子与 ejabberd 交互。 例如,可以使用自己的处理程序对所有message节做出React。其他您当然也可以向 e

    ejabberd服务器安装及客户端注册文档

    在文档的最后,还提到了如何停止和启动ejabberd服务,使用命令"/etc/init.d/ejabberd start"和"/etc/init.d/ejabberd stop"。这些命令是通过系统的服务脚本来控制ejabberd进程的启动和停止,这也是管理Linux服务的...

    ejabberd-2.1.11

    windows环境下的ejabberd。。。点击即可安装

    Ejabberd-2.1.10-mac

    Ejabberd是一款高度可扩展...总的来说,Ejabberd-2.1.10-mac是一个专为Mac用户设计的即时通讯服务器解决方案,提供了易于安装和使用的体验,同时具备强大的功能和灵活性,适用于个人、企业以及大型组织的即时通讯需求。

    ejabberd-15.07-osx-installer.app.zip

    在实际开发中,开发者通常会使用ejabberd的API或客户端库(如Smack, Strophe.js等)来构建XMPP应用。通过编写XMPP协议的XML stanza,实现消息发送、接收、用户注册、登录等功能。此外,ejabberd也支持插件开发,允许...

    ejabberd:ejabberd-XMPP和Web聊天

    将与结合在一起的即时消息服务器,以创建支持强加密并与任何Web浏览器或专用XMPP客户端(例如,Pidgin)一起使用的实时聊天服务器。 ejabberd是功能强大的XMPP服务器,它支持群集,实时升级,共享名册组并提供对虚拟...

Global site tag (gtag.js) - Google Analytics