使用websocket.send时如何知道消息何时到达?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用websocket.send时如何知道消息何时到达?相关的知识,希望对你有一定的参考价值。

根据Does TCP send a SYN/ACK on every packet or only on the first connection?,客户应该能够知道消息何时到达。但是,send方法似乎无法进行回调。有没有办法知道消息何时到达?

答案

TCP ack是TCP协议的内部。这不会反映到TCP客户端级别或webSocket级别。因此,使用TCP的应用程序看不到这些协议级别的确认。

如果您希望确认消息到达应用程序级别,那么您可以让收件人发回应用程序级别确认消息。

如果使用socket.io(在webSocket上运行),则它具有内置的确认/响应回调功能。您将回调传递给.emit()方法,当收件人确认收到邮件时,该方法将被调用。如果需要,您甚至可以让收件人发回特定的响应。在内部,socket.io只是在响应中发回另一条消息作为确认,当然,您可以使用普通的webSocket实现自己。

以上是关于使用websocket.send时如何知道消息何时到达?的主要内容,如果未能解决你的问题,请参考以下文章

聊天应用程序如何知道用户何时发送消息以重新呈现?

我们如何确定 XMPP 消息何时传递?

RabbitMQ 如何决定何时删除消息?

如何知道何时提交或回滚事务

webSocket.send() 没有在 react js 中执行?

如何检测用户何时从 Facebook 删除应用