Jabber 注册一个新用户的流程(JabberD + gloox)

从网络实际发送,接收到的包来分析Jabber协议中注册一个新用户的过程
例子服务器所用的是 JabberD2 S7版 客户端是 gloox 0.8版的注册测试程序
用其它的服务器和客户端,可能会有所不同,但大体上应该是一样的

C->S 001
<?xml version='1.0' ?>
<stream:stream to='jabber.org'
xmlns='jabber:client'
xmlns:stream='http://etherx.jabber.org/streams'
xml:lang='en'
version='1.0'>
客户端向服务器建立连接,version='1.0'代表客户端的所用的XMPP的版本,没有表示是0.x版,o.x版与1.0版的验证方式不同

S->C 002
<?xml version='1.0'?>
<stream:stream xmlns:stream='http://etherx.jabber.org/streams'
xmlns='jabber:client'from='jabber.org'
version='1.0'
id='7mh6bxa8x95js1ubvkxyupysze2xpz6jhxtrzzpq'>
服务器响应连接

S->C 003
<stream:features xmlns:stream='http://etherx.jabber.org/streams'>
<mechanisms xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>
    <mechanism>DIGEST-MD5</mechanism>
    <mechanism>PLAIN</mechanism>
</mechanisms>
</stream:features>
服务器返回支持的验证方式

C->S 004
<iq id='uid1' type='get'>
<query xmlns='jabber:iq:register'/>
</iq>
客户端发送一个注册新用户的请求

S->C 005
<iq xmlns='jabber:client' id='uid1' type='result'>
<query xmlns='jabber:iq:register'>
<username/>
<password/>
<instructions>Enter a username and password to register with this server.</instructions>
</query>
</iq>
服务器返回注册用户时,所要用到的字段,和注册提示信息

C->S 006
<iq id='uid2' type='set'>
<query xmlns='jabber:iq:register'>
<username>test3</username>
<password>1234</password>
</query>
</iq>
客户端按服务器的要求,发送注册信息

S->C 007
<iq xmlns='jabber:client' id='uid2' type='result'/>
服务器返回注册结果
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值