Zitat von
shmia:
Zitat von
Gruber_Hans_12345:
gibt es bei den
Indy einen Timeout, der die Verbindung rauswirft, wenn der Peer zb das Netzwerk verloren hat?
habe da mal einen test gemacht, und es sieht so aus, als ob beim Senden ein TimeOut von ca 3 Minuten drinnen ist.
Das wird
IMHO vom Betriebssystem geregelt. Da gibt es sicher irgend einen Eintrag in der Registry...
Zitat von
Gruber_Hans_12345:
gibt es auch einen Timeout, damit er die momentane idle Verbindung nach einer gewissen zeit trennt? (also, wenn der server nix an den client schickt?)
Das kann ich mir nun überhaupt nicht vorstellen.
Du müsstest zu jeder Clientverbindung zusätzliche Daten speichern. Dort wäre dann auch eine TDateTime-Variable dabei, die bei jedem Empfang von Clientdaten aktualisiert wird.
Auf dem Server überprüft ein Timer (alle 10s) ob ein Client zu lange nichts "geredet" hat.
Falls ja, Now > FLastClientSend + 240 / SecsPerDay dann eine Logoff - Meldung schicken.
also meinte, wenn der client rausgeflogen ist, aber die verbindung am server noch offen ist (wenn du in meinem log oben schaust, siehst du, über 20 minuten nach dem trennen des client sich am server noch immer nix getan hat, erst wenn der server was probiert zu schicken, dann bekommt er es (nach 3 minuten) mit, das die verbindung ja eigentlich nicht mehr existent ist)
ich bin gerade dabei von FPiette mit UDP auf
Indy mit
TCP umzusteigen, da ich große probleme habe, das Datenpakete nicht ankommen (ist einfach ein sehr instabiles netz)
und da möchte ich es gerne so bald wie möglich wissen, wenn ein gerät abgestürzt ist