什么是经过验证的轻量级应用程序级别的方法来保证消息的传递?我已经阅读了一些有关使用序列号并确认已收到序列号的信息,但是可能有更好的方法吗?当前的传输方式是tcp,但可能会更改。
答案 0 :(得分:1)
我可以举一个例子说明它如何适用于XMPP协议。
移动应用将TCP用作其传输方式,在某些情况下还会丢失消息(例如,连接问题等)
因此,他们提出了一个单独的XEP,称为流管理https://xmpp.org/extensions/xep-0198.html
双方都交换了其他简单的软件包:r
和a
。
整个流程如下所示:
<!-- User A sends a message to User B -->
<message from='userA@example.net/churchyard'
to='userB@example.com'
xml:lang='en'>
<body>Hello</body>
</message>
<!-- then User A requests an acknowledgment from User B whether he received a message or not -->
<r xmlns='urn:xmpp:sm:3'/>
<!-- User B answeres with an acknowledgment package and a count how many packages he received -->
<a xmlns='urn:xmpp:sm:3' h='1'/>
因此,这里并没有什么神奇的东西-只是交换了额外的数据以确保所有信息都正确传递。我想您可以采用类似的方式。