从我收集的信息来看,Websockets使用TCP(或相当于TCP)连接进行数据传输。如果是这种情况,消息是以TCP速度传输的吗?
进一步使我理解的是Socket.IO,它在节点中有时可以使用HTTP启动Websocket连接(例如使用express)。发生这种情况时,是否以HTTP速度或其他方式发送websocket信息?
最后,在节点中,我有一个应用程序与服务器建立UDP连接,然后通过socket.io连接发送udp。在这种情况下,此UDP数据是以tcp速度发送的吗?
由于
答案 0 :(得分:2)
WebSockets是HTTP连接(例如TCP)中的协议升级,具有自己的框架 - 这意味着它是TCP上的一个层,由于它自己的框架,它比TCP单独的开销更多。
除此之外,TCP数据包本身并不比UDP数据包慢,并且使用简单的TCP连接进行数据传输比使用简单的UDP连接更快,因为流量控制和可靠传输已经集成,并且您不需要必须重新改造一切(通常更糟)。