Einzelnen Beitrag anzeigen

Benutzerbild von DataCool
DataCool

Registriert seit: 10. Feb 2003
Ort: Lingen
909 Beiträge
 
Delphi 10.3 Rio
 
#1

TIdTCPConnection. ReadSmallInt wie einen TimeOut realisieren

  Alt 17. Sep 2003, 11:51
Hi Leute,

in der letzten Zeit brauch ich echt oft Hilfe , aber bisher habe Ihr mir immer weiter geholfen, erstmal danke danke danke

Jetzt konnte ich mein Problem mit der CPU-Last(manchmal auf 98%) soweit fixen, das nur ein Fehler übrig ist.

Ich übertrage mit einen IdTCPServer Live-Bilder zu einen Client !
Damit die Übertragung schneller ist habe ich mir gedacht ich mache nur einmal die Connection vom Client zum Server auf und kommuniziere innerhalb dieser Connection mit einem eigenen Protokoll.
Die Befehl-Kette läuft in etwa so ab :

1. client --> Server : will bild haben
2. Server --> Client : Bildgrösse xxxx Bytes (mit WriteCardinal)
3. Server --> Client : Bildstream (WriteStream)
4. Client --> Server : Bild ok, Fehler (ReadSmallInt 0,1)

wenn bild ok gehe zu 1, ansonsten gehe zu 2.

Funktioniert auch wunderbar, nur mein Problem ist das ich jetzt festgestellt habe, das ab und zu der Client aus anderen Programm technischen Problemen abstürzt.

Wenn dies geschieht und ich gerade im Server-Thread auf die Bildbestätigung warte(ReadSmallInt), dann kann ich 100 Jahre oder länger warten

Würde ich das ganze mit Readln machen, hätte ich einen Timeout beim Lesen. So könnte ich mein Problem lösen, dabei ist nur das Problem das beide Programme Client und Server schon produktiv online sind, und ich auch bei gleichzeitigem update nicht garantieren kann, das jeder Kunde sofort die aktuelle software benutzt.

Deshalb : Gibt es eine Möglichkeit Readsmallint mit einem Timeout zu verwenden ?

Danke Data

[edit=sakura]Leerzeichen in Überrschrift eingefügt. Mfg, sakura[/edit]
Der Horizont vieler Menschen ist ein Kreis mit Radius Null, und das nennen sie ihren Standpunkt.
  Mit Zitat antworten Zitat