websocket丢失消息并到达laters

时间:2016-03-24 23:51:05

标签: sockets websocket

我是websocket的新手,并阅读了很多关于它的内容。 我想知道,一条消息不会到达机器人以后的消息到达是否可行? 这发生在socket io中,但不是在tcp-ip中。

1 个答案:

答案 0 :(得分:0)

TCP保证从一个TCP堆栈发送到另一个TCP堆栈的TCP帧的顺序。这并不意味着消息顺序在堆栈中保证更高。通过TCP构建的WebSocket不保证WS帧顺序。这是应用程序协议的责任,例如pub / sub,xmpp,db等。此外,接收方需要检查WS帧是否是"消息中的唯一一个"或者是否有多个WS框架构成"消息"。

是的,我在"消息"周围使用了引号。这里因为WebSocket实际上不是像ActiveMQ,JMS,AMQP等高级消息传递系统。许多人松散地说'#34; message"当他们谈论WS时,他们真正意味着" WebSocket框架或框架组中的数据"。 WebSocket是一种低级传输。它就像一个网络的TCP' (不是在物理上,只是抽象地说)。

大多数应用开发者不应该使用WebSocket API,就像大多数应用开发者不应该使用原始TCP API一样。它看起来很简单,但是你需要通过WS开发大量代码来获得大多数应用程序所需的应用程序语义。

我建议您使用更高级别的API,它使用WS。很多可能性:ActiveMQ,MQTT,NodeJS,Kaazing(我工作的公司)等。