Ejabberd未将出席节发送给其他花名册成员 [英] Ejabberd not sending presence stanza to other roster members

查看:119
本文介绍了Ejabberd未将出席节发送给其他花名册成员的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I have an internal web chat application implemented in python/django and using ejabberd 2.1.3 and Strophe.js. When you open the website with a special access link, a cmd line call is executed to add you to a shared roster group:

ejabberdctl srg_user_add 00024-540-1mCYpYTTCRcjJK5OWI7cWs xmpp.mydomain.com
1mCYpYTTCRcjJK5OWI7cWs xmpp.mydomain.com

$ b

执行成功,如果我手动执行此cmd,则成员显示正常:

The executes successfully and if I execute this cmd manually the members are shown fine:

ejabberdctl srg_get_members 1mCYpYTTCRcjJK5OWI7cWs xmpp.mydomain.com
00024-540-1mcypyttcrcjjk5owi7cws@xmpp.mydomain.com
01114-540-1mcypyttcrcjjk5owi7cws@xmpp.mydomain.com

但是,在Strophe.js状态处理程序中,我只为自己收到一个状态节,这意味着如果我在两个不同的浏览器中为两个不同的成员打开两个不同的链接,则不会收到其他成员的在场节。
如果将ejabberd日志级别设置为要调试,则会在此处反映出来。

However, in the Strophe.js presence handler I only receive a presence stanza for myself, meaning if I open two different links in two different browsers for two different members, I do not receive a presence stanza for the other member. If set the ejabberd log level to debug, this is reflected here.

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

b $ b

其他成员缺少该节:

It's missing the stanza to the other member:


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

我在第二台服务器上安装了相同的设置,并且可以正常工作,并且我看到的节与预期的完全一样。
以前,它也可以在有问题的服务器上工作,但是上周我们在数据中心出现了总电源故障,服务器掉了下来。从那时起,我似乎无法再次使用它。
可能是某些文件由于断电而损坏了吗?有什么需要清理的东西吗?
不幸的是,以前负责的人不再在我们公司...

I have the same setup on a second server where it works fine, and I see the stanzas exactly as expected. Before, it also worked on the problem server, but last week we had a total power failure in the data center and the server went down. Since then I cannot seem to get it to work again. Could it be that some files might have been corrupted due to the power loss? Is there something I should clean up? Unfortunately the previously responsible person is no longer in our company...

推荐答案

我发现了问题-由于


ejabberdctl srg_create ...

丢失,因此成员被添加到不存在的组中。
我只是不明白为什么srg_user_add和srg_get_members命令可以正常工作。如果他们提供了有关该小组不存在的提示,我会早点发现问题

was missing, so the members were added to a non-existent group. I just do not understand why the srg_user_add and srg_get_members commands worked without error. If they had given some hint about the group not existing I would have found the problem sooner

这篇关于Ejabberd未将出席节发送给其他花名册成员的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆