guten tag zusammen
ich kämpfe seit einigen tagen mit einem problem, wo ich trotz unterschiedlicher arten an das problem heran zu gehen keine brauchbare lösung finde.
folgende konstellation
in einem client modul läuft ein thread der eine objectliste arbeitet in der ca 10kb große memorystreams sind. diese streams werden über
tcp über einen bestimmten port an einen serverprozess geschickt, der einen
tcp server enthält.
in der execute methode des
tcp servers wird der hier empfangene stream an einen
tcp client dieser datensitzung (es gibt mehrere) übergeben der ihn sofort weitersendet an einen weiteren serverprozess, der diesen stream dann verarbeitet.
das funktioniert auch zu 98% *haare rauf
es kommt immer wieder vor, vor allem an den beginn der sitzungen, daß streams verloren gehen und somit lücken in der datenverarbeitung beim endprozess entstehen.
diverse versuche mit critical sections oder try except schleifen brachten keinen erfolg. mir scheint auch daß fehler nur auftauchen wenn eine strecke lan ist.
im moment wäre der nächste denkansatz von mir im on execute des mittelservers je empfang eines streams einen eigenen
tcp client zu erzeugen, der den stream dann weitersendet?
warum gehen die streams verloren bzw. werden beschädigt?
delphi7 enterprise
indy 9
danke im vorraus