- Отправитель отправляет данные.
- приемник ждет пару секунд, а затем вычисляет скорость пропускной способности/с
- приемник посылает скорость, с которой его приема пакетов (байт/с) к отправителю
- Отправитель вычисляет его скорость отправки пакетов
- Если скорость отправителя значительно выше, уменьшает его, чтобы соответствовать скорости приема.
В качестве альтернативы, более продвинутый подход:Является ли этот метод управления перегрузкой для UDP допустимым/звуковым?
- Отправитель начинает посылать с заранее заданной частотой мин (например, 1kb/с.)
- приемник отправляет вычисленную скорость приема обратно отправителю.
- Если скорость приема совпадает с скоростью передачи (принимая во внимание задержку), увеличьте скорость с помощью набора pct (например, скорость * 2).
- Продолжайте делать это до тех пор, пока скорость передачи не станет выше скорости приема.
- Продолжайте следить за тарифами для учета изменений в увеличении/уменьшении полосы пропускания, если необходимо.
Может ли это работать, если вы должны были реализовать свой собственный алгоритм управления перегрузкой UDP?