Einzelnen Beitrag anzeigen

ils566

Registriert seit: 3. Dez 2005
28 Beiträge
 
#1

Threadsichere Kommunikation mit ServerSocket u. Clientsocket

  Alt 6. Jan 2006, 23:15
Hallo,

vielleicht hat hier jemand einen Tipp für mich. Ich möchte von einem Serverprogramm an mehrere Clients Datensätze asynchron über eine ServerSocket und eine ClientSocket Komponente schicken.

Die Indy-Komponenten möchte ich nicht verwenden, da das Exception-Handling meiner Ansicht nach "annyoing" ist.

Im Client wird bei OnClientSocketRead die Funktion:

msg := Socket.ReceiveText;

aufgerufen.

Der Server schickt testweise mehrere Strings hintereinander an den Client

for i:=1 to 10 do
begin
ClientList[0].Socket.SendText( msg);
// delay (300); <- mit delay (300ms) funktioniert es!
end;

Wenn nach jedem senden eine Pause gemacht wird, funktioniert es.
Wenn keine Verzögerung da ist, "überschlägt" sich der Client und die Daten geraten durcheinander.

Die Hilfe (D6) gibt leider kein (versätndliches) Beispiel für eine "threadsafe" Behandlung bei
den ServerSocket und ClientSocket Kompos.
Hat jemand Erfahrung wie es OHNE den delay-workaround richtig geht?

Grüße
ILS
  Mit Zitat antworten Zitat