Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Message vom Server zum Client schicken (Indy) (https://www.delphipraxis.net/70330-message-vom-server-zum-client-schicken-indy.html)

VirusXP 28. Mai 2006 20:00


Message vom Server zum Client schicken (Indy)
 
Also ich Versuch von meinem Serverprogramm (realisiert mit einem IdTCPServer) ne Message an nen Client zu schreiben. Jetz aber des knifflige, ich befind mich net in der OnExecute Methode des Server, von wos ja zum Client ein leichtes is.


Ich hab jetz folgende Prozedur geschrieben:

Delphi-Quellcode:
Procedure SendMes(index: Int64; Mes: string);
var LThreads: TList;
begin
  LThreads := Form1.IdTCPServer1.Contexts.LockList;
  try
   with TIdContext(LThreads[index]) do
   begin
    WriteLn(Mes);
   end;
  finally
    Form1.IdTCPServer1.Contexts.UnlockList;
  end;
end;
Nu meine Frage: Wie fang ich des auf anderer Seite mit dem IdTCPClient auf, ich hab ja keine OnExecute Methode wie der Server?

Danke für jegliche Antwort, bis denn dann

SirThornberry 28. Mai 2006 21:13

Re: Message vom Server zum Client schicken (Indy)
 
ich hab es damals so gemacht das ich mir im OnConnect den AThread in eine Liste gepackt hab und im OnDisconnect wieder entfernt. Somit konnte ich über meine eigene Liste auf die einzelnen Verbindungen zugreifen.

VirusXP 28. Mai 2006 22:11

Re: Message vom Server zum Client schicken (Indy)
 
Welche Seite meinst du jetz, Server oder Client. Serverseitig is alles da, alles in ner Liste, bloß ich weiß net wie ich mit dem Client drauf reagieren soll wenn ne Message kommt. Der Client hat ja keine OnExecute Methode wie der Server.

inherited 28. Mai 2006 22:13

Re: Message vom Server zum Client schicken (Indy)
 
Garnicht, Sockets verwenden oder selbt implementieren

DataCool 29. Mai 2006 18:37

Re: Message vom Server zum Client schicken (Indy)
 
Hi,

ganz einfach, erzeug Dir einen Thread der nichts anders macht als aus der Connection zu Lesen.

Kommt beim ReadLn was an, must Du dann nur noch darauf reagieren.

Gruß Data

VirusXP 29. Mai 2006 22:16

Re: Message vom Server zum Client schicken (Indy)
 
Wie meinst du das, soll ich die ganze Zeit nen Timer oder ähnliches laufen lassen und bei jedem Intervall prüfen ob der server was gschickt hat?

DataCool 29. Mai 2006 22:25

Re: Message vom Server zum Client schicken (Indy)
 
Hi,

mit nem Timer hättest Du den gleichen Effekt, nur kann ich Dir davon nur abraten.
Mach das ganze in einen Thread und das ganze läuft einwandfrei !
Ich habe das so schon diverse Male auf diese Weise umgesetzt.

Gruß Data

VirusXP 29. Mai 2006 22:33

Re: Message vom Server zum Client schicken (Indy)
 
Und wie mach ich des mit dem Thread, bin aufem Gebiet Netzwerk und Internet noch recht neu.

DataCool 29. Mai 2006 22:36

Re: Message vom Server zum Client schicken (Indy)
 
Hi,

ein Thread hat doch absolut nichs mit Internet zu tuen,
schau mal in der Delphi Hilfe nach TThread,
da solltest Du alles finden was Du brauchst.
Ansonsten wird Dir hier zu dem Thema bestimmt geholfen.

Gruß Data

VirusXP 29. Mai 2006 22:44

Re: Message vom Server zum Client schicken (Indy)
 
Danke, werd mich mal umschaun


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