Thema: Delphi TStringList übermitteln

Einzelnen Beitrag anzeigen

Muetze1
(Gast)

n/a Beiträge
 
#3

Re: TStringList übermitteln

  Alt 14. Mai 2005, 15:51
Moin!

Lass mich raten: Du bekommst in mehreren OnClientReads die Teile der StringList? Du selber versendest die TStringList über die Eigenschaft Text?

Falls ja, kann ich mich nur wiederholen: Es gibt nirgendwo auch nur die geringste Garantie, das einzelne SendText() Inhalte als komplettes und genauso separiert auch wieder empfangen werden. Im Normalfall musst du einen Empfangsbuffer bauen wodrin du erstmal alles empfangene hinten anhängst - und wenn ein Block fertig ist, diesen verarbeitest. Daher ist ein kleines Protokoll notwendig. Die Sockets interessieren die Daten nicht, sie versenden sie einfach nur - in so viel Einzelteilen wie nötig.

Bei einer schlechten Verbindung kann es im worst-case dazu kommen, dass du jeden Buchstaben einzelnd empfängst - also immer wieder ein OnClientRead() pro Buchstabe. Also stell deine Verarbeitung bei der Bedienung und Behandlung der Sockets entsprechend um, damit mit mit sowas umgehen kannst.

/EDIT: gleicher Inhalt, leider übersehen...

MfG
Muetze1
  Mit Zitat antworten Zitat