Websockets处理丢失的包裹

时间:2019-08-29 12:49:58

标签: html node.js websocket ws

默认情况下,Websockets是否具有处理丢失数据的机制?

这里过分简化,说我从服务器(node.js)向客户端(vue js)发送了3个软件包。包裹2丢失。

是否可以重新发送它或至少将错误通知客户端?还是因为流性质,WS根本不支持类似的东西?

即使WS不支持它,也有一个节点模块吗?

谢谢

1 个答案:

答案 0 :(得分:1)

Websocket本身作为协议不能管理“丢失的”数据。这是一个全双工TCP(不能保证无法传递的UDP),因此通常您要么收到整个消息,要么什么也没收到。不幸的是,没有任何一种情况需要您自己解决。

好消息是,您可以使用许多node.js中间件,即IE socket.io,它们为您实现了大量的业务逻辑,例如重新连接,乒乓球,ack / syn,长时间轮询等