gpt4 book ai didi

tcp - WebSocket 分片和 TCP 分片有什么区别?

转载 作者:可可西里 更新时间:2023-11-01 02:55:40 25 4
gpt4 key购买 nike

我正在阅读有关 Websocket 的文章,我看到该协议(protocol)有数据碎片(帧),WebSocket 消息由一个或多个帧组成,但这不是 TCP(数据碎片)所做的?我很困惑。

最佳答案

数据传输上下文中的分段只是意味着将原始数据拆分为更小的部分以进行传输并稍后(例如在接收方)再次组合这些片段以重新创建原始数据。

如果底层无法处理较大的消息,或者如果较大的消息会导致性能问题,通常会进行分片。此类问题可能是因为如果丢失一条大消息并且需要重复而不是仅一小段消息,则代价更高。或者,如果传输一条大消息会阻塞较小消息的传递,则可能会出现性能问题。在这种情况下,将大消息拆分为多个片段并将这些消息片段与其他消息一起传送是很有用的,这样这些消息片段就不必等到大消息完成后再传送。

WebSockets 中的消息碎片只是数据传输不同层中存在的多种碎片类型之一,例如:

  • IP 消息可以在发送方或某个中间设备处被分段,并在最后重新组合。
  • TCP 是一种数据流。流的各个部分在不同的 IP 数据包中传输,并在接收方以正确的顺序重新组合。
  • HTTP 等应用层协议(protocol)也可以有片段,例如 HTTP 中的分 block 传输编码模式或 WebSockets 中的片段。
  • 在更高的层次上可能有更多的碎片,比如以前将一个大的 ZIP 文件分成多个部分放到软盘上,或者通过并行连接请求同一文件的不同部分并结合来加速下载这些在收件人处。

关于tcp - WebSocket 分片和 TCP 分片有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47122719/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com