Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Daten vom Server an den Client senden? (https://www.delphipraxis.net/29155-daten-vom-server-den-client-senden.html)

Nonsense 4. Sep 2004 19:18


Daten vom Server an den Client senden?
 
Hallo,

ich arbeite mir den Standard TClientSocket und TServerSocket Komponenten von Delphi.
Soweit klappt alles, nur würde ich gerne Daten vom Server an den Client schicken.
Dazu meine Frage: Muss auf beiden ein Server und ein Client laufen, oder reicht es, wenn einer der beiden Server ist und der andere Client, so dass Daten _ausgetauscht_ werden können?

Danke.

Greetings

Aenogym 4. Sep 2004 20:06

Re: Daten vom Server an den Client senden?
 
hi,

es reicht, wenn auf einem programm der serversocket und auf dem anderen der clientsocket läuft.
der client sendet dann einfach was an den server. der server feuert ein Event (OnClientRead) und kann mit dem parameter "socket", der im event zu finden ist, gezielt daten an den clienten senden, der das event ausgelöst hat.

nachtrag: bei dieser architektur (client/server) sind die einzelnen clienten nicht in der lage, untereinander direkt zu kommunizieren (nur über den umweg über den server). wenn jedes programm server und client am laufen hat, ist es relativ leicht, ein p2p-netzwerk zu erstellen, das keinen extra server benötigt und in dem jeder teilnehmer mit jedem anderen kommunizieren kann (gleichzeitig).

Aenogym

Nonsense 4. Sep 2004 20:28

Re: Daten vom Server an den Client senden?
 
Da stellt sich dann die Frage nach dem "wie?".
Im OnClientRead des Servers empfängt er ja die Daten. Wenn ich jetzt die Daten, die der Client schickt, wieder zurücksenden will, wie mache ich das?
Beispiel:
Delphi-Quellcode:
procedure TFormMain.ServerClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
begin
  MyMemo.Lines.Add(Socket.ReceiveText);
  // Server.Socket.SendText(Socket.ReceiveText); ???
end;
Wie muss ich das machen? Und wie kann der Client die Daten empfangen?

Thx.

stefan2005 4. Sep 2004 21:21

Re: Daten vom Server an den Client senden?
 
hi,
der ServerSocket verschickt Daten (in diesem Fall Text) folgendermaßen:
Code:
ServerSocket1.Socket.Connections[0].SendText('Beispiel');
in diesem Fall wird an die Verbindung 1 der Text geschickt !

Die Anzahl der Verbindungen kann ermittelt werden mit:
Code:
Verbindungen := ServerSocket1.Socket.ActiveConnections;
Übrigens geht "Socket.ReceiveText" nur einmal (!), danach wird dies gelöscht (bei mir zumindest) !
Also bei mehrmaligem Verwenden am besten in einer String-Variable speichern !

cu,
stefan2005

Nonsense 5. Sep 2004 10:11

Re: Daten vom Server an den Client senden?
 
Danke. Aber wie kann der Client die Daten empfangen?
Edit: Ok, hat sich erledigt. Danke.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:55 Uhr.

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