我正在学习Websocket,发现该协议具有数据分段(帧)的功能,一个WebSocket消息由一个或多个帧组成,但这与TCP(数据分段)不同吗?我感到困惑。
分段的另一个用途是多路复用,当一个逻辑通道上的大消息垄断了输出通道时,为了更好地共享输出通道,多路复用需要自由地将消息拆分成较小的片段。(请注意,本文档未描述多路复用扩展。)
虽然它被列为次要原因,但我认为这是分段功能的主要原因。想象一下,如果您尝试发送1GB大小的第一条消息,并且在开始发送时立即发送了1KB大小的第二条消息。帧允许应用程序在第一条消息的各个帧之间注入第二条消息,这样接收器将不需要等待传输1GB并将立即接收/处理1KB的第二条消息。