1

我们有 2 台设备 - iPad A 和 iPad B。两者都使用旨在发送音频/视频数据的相同应用程序。

有时设备彼此相距很远,流量通过互联网而不是本地网络。

在这种情况下,我们无法保证两端的网络速度相同。一台设备发送 512Kb/s 的速度可能比另一台低 5 倍。

问题是——

是否可以实时测量两个设备之间的流量并在需要时放大/缩小。例如,如果我知道设备 A 在这个给定时刻只有 256kb/s 的传入连接,那么设备 B 应该自动从 1mb/s 缩减到 256kb/s

目前我们实施的解决方案是通过识别丢失的数据包来检测流量/速度下降。但这并不完美。

也许您已经阅读了某些内容或有想法?

提前致谢, 德米特里

4

1 回答 1

2

如果您使用TCP作为您的网络层 - 该协议已经在其流量控制中为您完成了它。该协议还确保数据包将到达其目的地1

如果您出于某种原因不使用 TCP,则可以遵循协议使用的想法 - 使用它的滑动窗口(维基百科文章描述了这个想法的概念)。

但是,由于您可能需要可靠的连接 - 并且您还希望因此确保流量速度 - 我建议使用现成的解决方案并选择 TCP 作为您的网络协议。


(1) 在一定限度内,经过多次失败的试验后,包裹将被丢弃 - 但这种情况很少发生在 AFAIK 中。

于 2012-11-07T06:26:58.223 回答