如果websockets使用TCP连接,那么它们的通信速度和TCP一样慢?

时间:2014-02-21 17:33:11

标签: tcp websocket udp socket.io

从我收集的信息来看,Websockets使用TCP(或相当于TCP)连接进行数据传输。如果是这种情况,消息是以TCP速度传输的吗?

进一步使我理解的是Socket.IO,它在节点中有时可以使用HTTP启动Websocket连接(例如使用express)。发生这种情况时,是否以HTTP速度或其他方式发送websocket信息?

最后,在节点中,我有一个应用程序与服务器建立UDP连接,然后通过socket.io连接发送udp。在这种情况下,此UDP数据是以tcp速度发送的吗?

由于

1 个答案:

答案 0 :(得分:2)

WebSockets是HTTP连接(例如TCP)中的协议升级,具有自己的框架 - 这意味着它是TCP上的一个层,由于它自己的框架,它比TCP单独的开销更多。

除此之外,TCP数据包本身并不比UDP数据包慢,并且使用简单的TCP连接进行数据传输比使用简单的UDP连接更快,因为流量控制和可靠传输已经集成,并且您不需要必须重新改造一切(通常更糟)。