Verbindung bricht bei zu hoher Übertragungsrate zusammen.



  • Ein Client sendet einem Server Daten und wenn ich das ganze übers internet laufen lasse klappt alles wunderbar. Wenn ich die selbe Sache aber local auf einem Rechner (Client und Server) ausführe habe ich ne gigantische Übetragungsrate aber nach ein paar Sekunden bricht die Verbindung zwischen Server und Client zusammen. Wenn ich vor jedem send() ein Sleep(200); einfüge klappt alles wieder.

    Ist das üblich oder habe ich schlecht programmiert?



  • schätz mal das dein empfangs/sende puffer überläuft ...
    mach ihn halt ein bissl größer.

    ...

    kommt halt drauf an wie du das senden empfangen organisiert hast. benutzt du native sockets?



  • socke schrieb:

    schätz mal das dein empfangs/sende puffer überläuft ...
    mach ihn halt ein bissl größer.

    ...

    kommt halt drauf an wie du das senden empfangen organisiert hast. benutzt du native sockets?

    Es kann kein Puffer überlaufen, da ich immer mit 4KB paketen arbeite und es wird ein 4 kb paket gesendet und auch mit recv() ausgelesen. Hier im Forum hat man mir gesagt, winsock lösche automatisch was nciht mehr in den socketpuffer passt.



  • Wenn ich richtig liege, hast du keinen Einfluß darauf, wie Winsock die Daten überträgt. D.h. du kannst zwar 4k-Blöcke mit send übergeben, aber wie und in welcher Blockgröße die Daten weitertransportiert werden, entzieht sich deiner Kontrolle. Du brauchst also irgendein Protokoll.

    Rob'


Anmelden zum Antworten