默认情况下,Websockets是否具有处理丢失数据的机制?
这里过分简化,说我从服务器(node.js)向客户端(vue js)发送了3个软件包。包裹2丢失。
是否可以重新发送它或至少将错误通知客户端?还是因为流性质,WS根本不支持类似的东西?
即使WS不支持它,也有一个节点模块吗?
谢谢
答案 0 :(得分:1)
Websocket本身作为协议不能管理“丢失的”数据。这是一个全双工TCP(不能保证无法传递的UDP),因此通常您要么收到整个消息,要么什么也没收到。不幸的是,没有任何一种情况需要您自己解决。
好消息是,您可以使用许多node.js
中间件,即IE socket.io
,它们为您实现了大量的业务逻辑,例如重新连接,乒乓球,ack / syn,长时间轮询等