Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Alle Programme im Clientcomputer Schliessen oder öffnen (https://www.delphipraxis.net/72838-alle-programme-im-clientcomputer-schliessen-oder-oeffnen.html)

khalilazzz 7. Jul 2006 17:32


Alle Programme im Clientcomputer Schliessen oder öffnen
 
hallo
ich habe eine kleine Server/Client Anwendung realisiert.ich möchte aus dem server so kommandieren dass alle laufende Programme im Client beendet wird oder einen bestimmte ausgewählte programm im Client auch gestartet werden kann.
ich benutze [Indy] TCPServer /TCPClient.

wie realiseirt man sowas?ich bin nicht sicher aber vielleicht mit einem command integer.
vielleicht wäre es mir hilfreich mit einem Quellcodeprogramm
im voraus vielen dank

Zacherl 7. Jul 2006 17:33

Re: Alle Programme im Clientcomputer Schliessen oder öffnen
 
Du musst halt einen Befehl an den Server senden. Diesen dann abfangen und darauf reagieren, indem du z.b. einen Process beendest.
Das geht übrigens mit Hier im Forum suchenTerminateProcess

Florian

khalilazzz 7. Jul 2006 17:36

Re: Alle Programme im Clientcomputer Schliessen oder öffnen
 
bei mir muss es nicht unbedingt das schliessen von programmen.
es kann irgendwelche Aktion,die im Client abgefangen bearbeitet und ausgeführt wird.
wie realisiert man den befehl austausch zwischen server und Client

Zacherl 7. Jul 2006 17:39

Re: Alle Programme im Clientcomputer Schliessen oder öffnen
 
Bei Server sollte man in etwa so Befehle broadcasten können: IdTCPServer1.Connection.Socket.SendText('Befehl');
Beim Client muss man z.B. mit einem Timer prüfen, ob IdTCPClient1.Socket.ReceiveText einen Befehl enthält.

Florian

khalilazzz 7. Jul 2006 17:45

Re: Alle Programme im Clientcomputer Schliessen oder öffnen
 
was wäre denn wenn der befehl namens(Beispiel: "Message"),in dem er eine gesendete Nachricht aus dem Server im Client anzeigt.diese gesendete nachricht enthält im ihrem Inhalt die name eines anderen Befehl.das kann zu missverstänisse führen und so fehlinterpretation bis zum auslösen einer Exception.

Zacherl 7. Jul 2006 17:51

Re: Alle Programme im Clientcomputer Schliessen oder öffnen
 
Die Befehle müssen halt eindeutig geparst werden. Ich regele das immer gerne indem ich z.B. beim Client eine StringList erzeuge, dann mit Add das Item[0], also den Befehl selbst hinzufüge. Alles was danach mit Add zur StringList hinzugefügt wird, können Parameter sein. Danach sende ich StringList.DelimitedText an den Client.

Beispiel einer Command-StringList:
Code:
ShowMessage
Hallo, dies ist ein Text
Der Client muss nun auch eine StringList erstellen und DelimitedText den Wert, den er vom Server erhalten hat zuweisen.
Dann kann geprüft werden, welcher Befehl angekommen ist:
Delphi-Quellcode:
if StringList[0] = 'ShowMessage' then
begin
  ShowMessage(StringList[1]);
end;
Florian


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:13 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