Die Daten überträgst Du doch. Also weißt Du auch, welche Größe die Daten über einen gegebenen Zeitraum haben. Das ist die benutzte Bandbreite. Ist die Dir zu groß, baust Du Pausen in Dein Programm ein (Pseudocode):
Delphi-Quellcode:
BenutzteBandBreite := BandBreite(InLetzten30SekundenUebertrageneDaten, 30);
if BenutzteBandBreite > 20*1024 then
Delay(BerechneVerzögerung(BenutzteBandBreite));
UebertrageDatenInSendePuffer;