没有<features>元素的Ejabberd Bosh响应

时间:2019-03-12 14:16:40

标签: ejabberd bosh

我正在尝试使用在ejabberd服务器上启动并运行的bosh模块。

客户端(使用jabbernet)通过发送以下内容开始

<body content="text/xml; charset=utf-8" to="localhost" wait="60" hold="1" 
 xml:lang="en-GB" rid="1368823140" xmlns="http://jabber.org/protocol/httpbind" />

然后我从服务器获得没有元素的响应:

<body authid='17254393595248629793' xmlns='http://jabber.org/protocol/httpbind' sid='54a265d3d69252744d63d2cf6ec74d366aa24f3b' 
 wait='60' ver='1.11' polling='2' inactivity='30' hold='1' 
 xmpp:restartlogic='true' requests='2' secure='true' maxpause='120' 
 xmlns:xmpp='urn:xmpp:xbosh' xmlns:stream='http://etherx.jabber.org/streams' from='localhost'/>

然后根据xep-0206

  

如果连接管理器的会话创建响应中未包含stream:features元素,则客户端应发送空的请求元素,直到接收到包含元素的响应为止。

因此客户端每2秒发送一次:

<body to="localhost" sid="54a265d3d69252744d63d2cf6ec74d366aa24f3b" rid="1368823142" xmlns="http://jabber.org/protocol/httpbind" />

但是只能从ejabberd服务器获取:

<body xmlns='http://jabber.org/protocol/httpbind'/>

最终(30秒后)它失败并显示:

<body type='terminate' condition='remote-stream-error' xmlns='http://jabber.org/protocol/httpbind'/>

我在做什么错?

0 个答案:

没有答案