我使用的是socket.io 1.4,我想知道在这种情况下会发生什么:客户端发出如下代码:
Socket.emit('test',data);客户端向服务器发送了3次,但互联网速度突然下降,这些发送可能无法到达服务器,但过了一段时间,互联网速度又上升了,但之前失败的发送会发生什么?它们会自动再次发射吗?我该怎么处理呢?
发布于 2016-11-21 20:14:38
Websockets使用TCP,这通常是一种可靠的协议。并不存在“网速下降,我丢失了一些消息”这样的事情。如果某些消息丢失,它们将在TCP级别自动重传。如果重传完全失败,连接将被重置。
所以你真正想问的是socket.io是如何处理这个问题的。答案是它有一定数量的重新连接逻辑,如果您想要采取一些额外的操作(比如通知用户),您可能还希望监视连接,以防它重置(为套接字上的disconnect事件挂起一个侦听器)。
https://stackoverflow.com/questions/40719867
复制相似问题