如何知道我的消息是不是成功传送到 XMPP 服务器?
Posted
技术标签:
【中文标题】如何知道我的消息是不是成功传送到 XMPP 服务器?【英文标题】:How to know if my message is successfully delivered to a XMPP server?如何知道我的消息是否成功传送到 XMPP 服务器? 【发布时间】:2014-10-21 19:22:31 【问题描述】:我在这里使用 Openfire 和 ios XMPPFramework。我知道 XEP-0184 的存在,但这不是我要问的。我想知道Openfire服务器是否成功接收到我的消息(我的消息发送成功),到目前为止,当我向openfire服务器发送消息时,服务器没有任何响应,所以我不知道消息是否成功通过与否。擅长XMPPFramework的人可以给我一些示例代码:
-
服务器收到消息时要求服务器返回回执
处理从服务器发回的收据
我的直觉告诉我 id 属性可能是我在这里寻找的,但我在网上找不到相关信息。
感谢您的宝贵时间。
【问题讨论】:
【参考方案1】:唯一的标准化解决方案是XEP-198: Stream Management,它为客户端和服务器(以及 s2s)之间的节提供流级别的确认。 Openfire does not (yet) support Stream Management: OF-446.
除此之外,XMPP 没有(标准化的)收据方法,一旦他收到该节,服务器就会向客户端发送收据。请注意,这与提供端到端收据的XEP-184: Message Delivery Receipts 不同。
【讨论】:
感谢您的回答,我想我必须编写一些自定义插件来模仿 xep 198。我现在会接受解决方案。 @Alex。你成功使用XEP198了吗?你用过这个piece of Code from XMPPFramework for iOS 我没有使用 xep 198,因为我的服务器不支持它。以上是关于如何知道我的消息是不是成功传送到 XMPP 服务器?的主要内容,如果未能解决你的问题,请参考以下文章
我如何从客户端知道一个帐户是不是存在于 XMPP 服务器中?