轻量级应用程序级别确认

时间:2018-10-06 14:50:14

标签: tcp message messaging

什么是经过验证的轻量级应用程序级别的方法来保证消息的传递?我已经阅读了一些有关使用序列号并确认已收到序列号的信息,但是可能有更好的方法吗?当前的传输方式是tcp,但可能会更改。

1 个答案:

答案 0 :(得分:1)

我可以举一个例子说明它如何适用于XMPP协议。

移动应用将TCP用作其传输方式,在某些情况下还会丢失消息(例如,连接问题等)

因此,他们提出了一个单独的XEP,称为流管理https://xmpp.org/extensions/xep-0198.html

双方都交换了其他简单的软件包:ra。 整个流程如下所示:

<!-- 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'/>

因此,这里并没有什么神奇的东西-只是交换了额外的数据以确保所有信息都正确传递。我想您可以采用类似的方式。