具有流管理(XEP-198)的Ejabberd不使用脱机消息挂钩 [英] Ejabberd with Stream management (XEP-198) not using offline message hook

查看:100
本文介绍了具有流管理(XEP-198)的Ejabberd不使用脱机消息挂钩的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们正在开发具有聊天功能的应用程序。我们有一个ejabberd(15.02)配置为使用 mod_offline_post 使用脱机消息挂钩并转发所有消息以脱机客户到我们自己的URL,然后将其转发到GCM。

We are developing an app with a chat feature. We have an ejabberd (15.02) configured to use mod_offline_post to use the offline message hook and forward all messages for offline clients to an url of our own which then forwards to the GCM.

但是,在开发应用程序时,我们还需要启用XEP-198(流管理)来处理连接丢失。这样做本身就很好。流创建并恢复,消息得到确认。

However as we are developing an app, we also need XEP-198 (stream management) enabled to handle connection loss. This is working fine in itself. Streams are created and resumed, messages are acknowledged.

问题是,jabber正在等待流恢复,并且没有将任何脱机消息转发到脱机消息挂钩,从而链接到我们的mod并发布网址。它会将它们存储在其脱机存储中,并且当收件人恢复其流时,它们将被传递。

The problem is, that the jabber is waiting for a stream to resume and is not forwarding any offline messages to the offline message hook and thus to our mod and post url. It is storing them in its offline storage of course and they get delivered when the recipient resumes its stream.

是否可以通过任何方式配置jabber来调用脱机消息挂钩而 ejabberd_c2s:fsm_next_state:2517等待恢复流以... 吗?

Is there any way to configure the jabber to call the offline message hook while ejabberd_c2s:fsm_next_state:2517 Waiting for resumption of stream for... ?

PS:我们在客户端以提供流管理

PS: We use smack on the client side to provide stream management

推荐答案

从XMPP规范的角度来看,我理解ejabberd的行为是正确的。它在做正确的事情,在这种情况下不应该将消息转发给离线商店,因为您从技术上讲不是离线的。

In my understanding the behaviour of ejabberd is correct from the XMPP specification point of view. It is doing the right thing and should not in that case forward message to the offline store, because you are not offline technically.

这不是正确的放置位置您的推送处理。

It is just not the right place to place your push processing.

这篇关于具有流管理(XEP-198)的Ejabberd不使用脱机消息挂钩的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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