我知道即使首选 TCP,也可以通过 UDP 传输文件。
我的问题是服务器如何知道客户端可以处理多少,反之亦然,或者两者之间的任何路由器。
TCP 使用“窗口大小”,因为 UDP 不确认接收到的数据包,是否应该在应用层实现类似的东西来控制数据流,或者使用其他技术?
我知道即使首选 TCP,也可以通过 UDP 传输文件。
我的问题是服务器如何知道客户端可以处理多少,反之亦然,或者两者之间的任何路由器。
TCP 使用“窗口大小”,因为 UDP 不确认接收到的数据包,是否应该在应用层实现类似的东西来控制数据流,或者使用其他技术?
我的问题是服务器如何知道客户端可以处理多少,反之亦然,或者两者之间的任何路由器。
仅通过UDP,它不会。UDP 是“一劳永逸”——只需一个接一个地发送一个数据报。如果发送方的传输速率超过路径的容量,多余的数据报将被丢弃。
当使用 UDP 作为传输时,应用程序需要跟踪流量(如果需要)。究竟如何做到这一点取决于应用程序层和这里的题外话。
在大多数需要传输更大数据集的情况下,TCP 是迄今为止最简单的解决方案。除非您非常熟悉拥塞控制的复杂性,否则尝试在 UDP 之上重新发明它并不是一个好主意。