来自服务器的Ejabberd消息致谢

时间:2012-07-23 16:49:29

标签: ejabberd

Hihi那里,

我已经使用我的小型移动应用程序聊天程序设置并实现了ejabberd服务器。已经为邮件传递状态实施了XEP-184。

但是我遇到了问题,我的应用程序如何知道我的消息是否确实已经到达了ejabberd服务器?

我的场景:我正走进一个弱连接信号区域,信号几乎不足以保持连接活动,但频繁超时。我试图发送一条消息,我怎么可能确认消息是否到达服务器?

希望我对我的问题很清楚。提前谢谢!

2 个答案:

答案 0 :(得分:1)

我为此写了一个ejabberd mod,你可以在这里找到:

https://github.com/kmtsar/ejabberd-mods

答案 1 :(得分:0)

可能的方法是实施XEP-0198 Stream Management。流管理是最新ejabberd版本的标准功能。

有了这个,客户端可以要求服务器保留收到的节的数量,并在有兴趣时请求服务器确认收到的节数。

然后,客户可以了解是否收到了一个或多个节。

这可以针对每个单独的节进行:客户端需要针对最后发送的节的ack,并期望来自服务器的ACK。

理论上你可以只实现“Basic Ack Scenarios” - 不需要完整的XEP(包括流恢复)。