Drosseln von eingehender TCP-Verbindung



  • Hallo,

    ich habe neulich hier schon mal eine ähnliche Frage gestellt (3.)

    Das Problem habe ich mittlerweile gelöst (sehr elegant meiner Meinung nach, stolz bin)

    Nur eines habe ich nicht geschafft. Wie kann ich Daten in Empfangs-Richtung drosseln? Auf den sendenden Client habe ich keinen Einfluss.

    Danke!!



  • so lange pakete verwerfen, bis die gegenseite die gewuenschte geschwindigkeit liefert.



  • Das heißt, ich muss etwas an der eigentlichen QT Klasse verändern?
    Denn von den öffentlichen Memberfunktionen her kann man das ja nicht machen...

    Ich habe mal gegooglet und leider keine Erklärung zum Aufbau der Netzwerkschnittstelle von QT gefunden... kennt oder hat jemand vielleicht sowas (irgend ein UML-Diagramm oder sowas)?

    Prinzipiell plane ich folgendes irgendwie zu machen: Ich muss ja irgendwie den qtcpsocket überladen, denn der qabstractsocket kennt ja meiner Logik nur das was qtcpsocket und qudpsocket beide implementieren. Da UDP verbindungslos ist, merkt hier die Gegenstelle nichts davon, wenn ich ein Paket aufgrund zu niedriger Bandbreite nicht empfangen kann, es existiert kein Bestätigungspaket ("ack" heißen die Dinger laut Wikipedia), das ich verwerfen könnte.
    Ich hoffe du meinst mit Pakete verwerfen wirklich die "ack"-Antworten nicht zu senden, sonst habe ich absolut nicht verstanden, was gemeint ist 😉

    Tom



  • im titel hast du noch von tcp gesprochen. bei udp hast du dann tatsächlich keine chance die geschwindigkeit zu beeinflussen. ansonsten meinte ich genau das nicht senden der ack. kannst das hier mal lesen: http://de.wikipedia.org/wiki/Transmission_Control_Protocol#Slow-Start

    wie du das in qt tatsächlich realisieren könntest, weiß ich nicht. davon hab ich keine ahnung.

    grüße mm


Anmelden zum Antworten