2

我有一个在 python/django 中实现并使用 ejabberd 2.1.3 和 Strophe.js 的内部网络聊天应用程序。当您使用特殊访问链接打开网站时,会执行命令行调用以将您添加到共享名册组:

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 日志级别设置为调试,则会在此处反映。

<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/331971004113570'/>'/>

它缺少其他成员的节:

<presence xmlns='jabber:client' from='0031-666-vjuuogji8mxvo5edtsvre@xmpp.mydomain.com/3189433061352390311794558' to='0030-666-vjuuogji8mxvo5edtsvre@xmpp.mydomain.com/3319387285811752'/>

我在第二台服务器上进行了相同的设置,它可以正常工作,并且我看到的节完全符合预期。之前,它也可以在问题服务器上运行,但上周我们的数据中心完全断电,服务器宕机了。从那以后,我似乎无法让它再次工作。是不是有些文件可能因为断电而损坏了?有什么我应该清理的吗?不幸的是,以前的负责人已经不在我们公司了……

4

1 回答 1

0

我发现了问题 - 由于一些愚蠢的内部原因,

ejabberdctl srg_create ...

失踪,所以成员被添加到一个不存在的组。我只是不明白为什么 srg_user_add 和 srg_get_members 命令可以正常工作。如果他们给出了一些关于该组不存在的提示,我会更快发现问题

于 2012-11-12T08:48:18.600 回答