我有一个在python / django中实现并使用ejabberd 2.1.3和Strophe.js的内部Web聊天应用程序。 当您使用特殊访问链接打开网站时,将执行cmd行调用以将您添加到共享的名单组:
ejabberdctl srg_user_add 00024-540-1mCYpYTTCRcjJK5OWI7cWs xmpp.mydomain.com
1mCYpYTTCRcjJK5OWI7cWs xmpp.mydomain.com
执行成功,如果我手动执行此cmd,则成员显示正常:
ejabberdctl srg_get_members 1mCYpYTTCRcjJK5OWI7cWs xmpp.mydomain.com
00024-540-1mcypyttcrcjjk5owi7cws@xmpp.mydomain.com
01114-540-1mcypyttcrcjjk5owi7cws@xmpp.mydomain.com
但是,在Strophe.js存在处理程序中,我只为自己收到一个存在节,这意味着如果我在两个不同的浏览器中为两个不同的成员打开两个不同的链接,我没有收到另一个成员的存在节。 如果将ejabberd日志级别设置为debug,则会在此处反映出来。
<presence xmlns='jabber:client' from='0031-666-vjuuogji8mxvo5edtsvre@xmpp.mydomain.com/3189433061352390311794558' to='0031-666-vjuuogji8mxvo5edtsvre@xmpp.mydomain.com/3189433061352390311794558'/>
<presence xmlns='jabber:client' from='0030-666-vjuuogji8mxvo5edtsvre@xmpp.mydomain.com/3319710041135238652858307' to='0030-666-vjuuogji8mxvo5edtsvre@xmpp.mydomain.com/3319710041135238652858307'/>
它缺少对其他成员的节:
<presence xmlns='jabber:client' from='0031-666-vjuuogji8mxvo5edtsvre@xmpp.mydomain.com/3189433061352390311794558' to='0030-666-vjuuogji8mxvo5edtsvre@xmpp.mydomain.com/3319710041135238652858307'/>
我在第二台服务器上有相同的设置,它工作正常,我看到的节完全符合预期。 以前,它也在问题服务器上工作,但上周我们在数据中心完全断电,服务器出现故障。从那时起,我似乎无法让它重新开始工作。 是否有些文件可能因断电而损坏?有什么我应该清理的吗? 不幸的是,以前的负责人不再在我们公司......
答案 0 :(得分:0)
我发现问题 - 由于一些愚蠢的内部原因,
ejabberdctl srg_create ...
缺失,因此成员被添加到一个不存在的组中。 我只是不明白为什么srg_user_add和srg_get_members命令没有错误。如果他们对该组不存在提供了一些暗示,我会尽快发现问题