电梯里听到有人在说流式传输。
想起TCP就是流式的。但我们在使用 tcp 的时候,总是在应用层给定义了 delimiter 去分割消息。完全不知何时结束的消息,实在是没法处理。
那么 TCP 为啥会要使用这种流式的传输,而不像 UDP 那样每个包都是单独的 message 呢?
我猜想首先是因为 tcp 想做可靠的传输层,于是有了可动态调整的传输窗口;既然每次发送的数据量变成动态调整的了,那么 tcp 就没法保证整个消息能完整的送达了;于是只好退而求其次,让应用层自己去处理消息分段,成为了所谓的“流式传输”。