我有一个监听XMPP服务器的GChome扩展。我使用Strophe进行BOSH连接。问题是“我应该如何处理连接?”从XMPP核心wiki中,我发现最后连接/区分优先级的客户端接收消息。当用户从异地登录时,分机停止接收消息。我如何管理这种连接缺失。我希望这个问题不是很含糊。
发布于 2010-10-04 00:19:32
确保为每个连接使用不同的资源。要做到这一点,最简单的方法是让服务器生成RFC 3920bis, section 7.5中指定的资源名称,方法是让客户端发送:
<iq id='tn281v37' type='set'>
<bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'/>
</iq>并等待服务器使用完整生成的Jabber ID进行响应:
<iq id='tn281v37' type='result'>
<bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'>
<jid>
juliet@im.example.com/4db06f06-1ea4-11dc-aca3-000bcd821bfb
</jid>
</bind>
</iq>请记住,服务器可能会强制执行最大数量的资源,因此您可能会收到错误:
<iq id='wy2xa82b4' type='error'>
<error type='wait'>
<resource-constraint
xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
</error>
</iq>https://stackoverflow.com/questions/3786538
复制相似问题