Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi vom Server Daten an einen Client schicken (https://www.delphipraxis.net/48309-vom-server-daten-einen-client-schicken.html)

eassy 23. Jun 2005 13:30


vom Server Daten an einen Client schicken
 
Liste der Anhänge anzeigen (Anzahl: 1)
hallo zusammen,

ich bin jetzt seit über zwei wochen dabei eine anwendung
mit der indy-komponente (TIdTCPServer und TIdTCPClient) zu schreiben.
in der anwendung soll der server den clients in einem timer daten schicken.

nach langem suchen im internet und hier im forum habe ich ein beispiel gefunden wie man
auf der client seite abfragt, ob daten vorhanden sind und wenn ja
diese dann liest und ausgibt.

das funktioniert auch so weit, also wenn ich den server starte und anschließend
einen client mit dem server verbinde. startet der server den timer und schreibt
kontinuierlich daten zum client. wenn ich jetzt aber einen weiteren client mit
dem server verbinden möchte, funktioniert das nicht mehr. der server bleibt in
der timer routine und merkt nicht das sich ein weiter client mit ihm verbinden möchte.

ich bin für jeden vorschalg dankbar. da ich gerne wissen möchte, was ich im code
vom server falsch mache?

im voraus schon mal danke.


gruß
eassy :wall: :gruebel:

Nogge 18. Jul 2005 10:11

Re: vom Server Daten an einen Client schicken
 
Wieso arbeitest du mit einem Timer, wenn du doch die Events der Komponenten benutzen kannst?
Delphi-Quellcode:
procedure TForm1.ServerExecute(AThread: TIdPeerThread);
begin
  Daten:=AThread.Connection.ReadLn;
end;

supermuckl 18. Jul 2005 10:24

Re: vom Server Daten an einen Client schicken
 
er will wohl den timer serverseitig haben und nicht clientseitig den server antriggern ( was aber ne möglichkeit wäre )

dein fehler ist, das du im timer alle client connections durchgehen müsstest, die mit dem server verbunden sind. dazu die indy demo anschauen, wie die clientdaten im server verwaltet werden. musst dir halt vorstellen, das es sich hier um multithreading handelt, wo man an falschen stellen mit einer schleife genau so einen fehler verursacht ( das er eben in einem thread hängen bleibt )


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:31 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz