【发布时间】:2015-09-01 09:56:23
【问题描述】:
我只是想知道是否有适用于 Ejabberd 的消息传递收据的 Strophe 插件?
我正在尝试了解消息传递回执的工作原理,是否有任何来自 Strophe 的文档/插件?
【问题讨论】:
我只是想知道是否有适用于 Ejabberd 的消息传递收据的 Strophe 插件?
我正在尝试了解消息传递回执的工作原理,是否有任何来自 Strophe 的文档/插件?
【问题讨论】:
要实现Message Delivery Receipt,您可以使用strophe.receipts.js 插件。使用这个,消息的发送者可以请求一些通知,消息已经被传递到由预期接收者控制的客户端。
使用此收据插件,您无法实现“看到消息”功能。为此,您必须使用 XEP 扩展 XEP-0333 Chat Markers 协议。到目前为止,还没有任何 Strophe 插件来实现此功能。
要实现“Message Seen”功能,可以查看XEP-0085 Chat State Notification XEP 扩展协议。 StropheJs 通过strophe.chatstates.js 插件支持这一点。此外,通过使用聊天状态通知,您可以推断出消息已被收件人阅读,如果他们在消息传递后的任何时间变为活动状态。
【讨论】:
从 Strophe 插件代码来看,我认为收据插件不允许直接支持“Message Seen”功能。据我了解,它确实支持可靠性部分并将未确认的消息保留在队列中。但是,目的只是在一段时间后没有确认的情况下重新发送消息。
https://github.com/strophe/strophejs-plugins/blob/master/receipts/strophe.receipts.js
恐怕您需要自定义代码才能在 XMPP 协议功能之上在 Javascript 中实现该功能。
【讨论】: