Tcp 轻量级应用程序级确认
什么是经验证的轻量级应用程序级方法来保证消息的传递?我读了一些关于使用序列号和确认收到这些序列号的书,但是可能有更好的方法吗?当前传输是tcp,但这可能会改变。我可以给您一个例子,说明它如何适用于XMPP协议 移动应用程序使用TCP作为它的传输,并且在某些情况下可能会丢失消息(例如,连接问题等) 因此,他们提出了一个单独的XEP,称为流管理 双方使用附加的简单软件包进行交换:Tcp 轻量级应用程序级确认,tcp,message,messaging,Tcp,Message,Messaging,什么是经验证的轻量级应用程序级方法来保证消息的传递?我读了一些关于使用序列号和确认收到这些序列号的书,但是可能有更好的方法吗?当前传输是tcp,但这可能会改变。我可以给您一个例子,说明它如何适用于XMPP协议 移动应用程序使用TCP作为它的传输,并且在某些情况下可能会丢失消息(例如,连接问题等) 因此,他们提出了一个单独的XEP,称为流管理 双方使用附加的简单软件包进行交换:r和a。 整个流程如下所示: <!-- User A sends a message to User B -->
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'/>
你好
因此,这并不是什么神奇的东西,它只是一个额外的数据交换,以确保它的所有交付正确。我想您也可以采用类似的方法。为什么要更改tcp?对于部署平台,堆栈是否太大?你不想要拥塞控制吗?问题实际上是关于消息接收保证,应用程序级别的确认。[这回答了需要应用程序级别确认的问题。我正在寻找实现。