Strophe MUC 邀请拒绝处理程序未触发

Posted

技术标签:

【中文标题】Strophe MUC 邀请拒绝处理程序未触发【英文标题】:Strophe MUC invite decline handler not triggered 【发布时间】:2014-01-13 12:47:46 【问题描述】:

我有一个带有群聊的网络聊天应用程序。现在我可以邀请其他用户到我的房间,我可以收听邀请,我可以拒绝邀请,但是由于某种原因,当用户拒绝我的邀请时,它不会触发我的 onDecline 方法。这是我添加处理程序的部分:

connection.addHandler(onDecline, Strophe.NS.MUC_USER);

//(Strophe.NS.MUC_USER = http://jabber.org/protocol/muc#user)

当用户拒绝时,我得到以下 XML:

<body xmlns="http://jabber.org/protocol/httpbind">
   <message xmlns="jabber:client" from="qvxuceluy@conference.127.0.0.1" to="hampel.elod_reea.net@127.0.0.1">
      <x xmlns="http://jabber.org/protocol/muc#user">
         <decline from="40756382284@127.0.0.1">
            <reason>Busy!</reason>
         </decline>
      </x>
   </message>
</body>

【问题讨论】:

【参考方案1】:

您的消息处理程序可能正在拦截它。确保您的消息处理程序具有“群聊”或“聊天”类型(onMessage、null、'message'、'chat')。或者你可以通过你的消息处理程序来处理它。

【讨论】:

如您所见,此消息没有类型,所以我认为这不会有帮助。这不是聊天消息,我已经拥有聊天和群聊类型的处理程序 对不起,我想我不是很清楚。因此,当用户拒绝我的邀请时(当我从上面获取 XML 时),我的 onDecline 方法需要被触发。 您的消息处理程序是否包含类型?如果没有,它将拦截下降。使用日志记录并检查以确保它不会发送到您的消息处理程序。 谢谢,这就是问题所在。拒绝消息触发了消息处理程序。

以上是关于Strophe MUC 邀请拒绝处理程序未触发的主要内容,如果未能解决你的问题,请参考以下文章

如何在纽约接受邀请?

Backbone 和 Strophe muc 插件:处理传入事件

Smack MUC 邀请

发送直接邀请不适用于 MUC [ejabberd mod muc 管理员]

eJabberd 不能邀请多个用户到多个 MUC 房间

将用户添加到 xmpp 组或 muc