Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi IdTCPServer => IdTCPClient? (https://www.delphipraxis.net/145910-idtcpserver-%3D-idtcpclient.html)

Z4ppy 10. Jan 2010 18:34


IdTCPServer => IdTCPClient?
 
Mein IdTCPServer schickt mittels WriteLn eine Nachricht raus.
Wie kann ich diese im IdTCPClient empfangen?
Ich habe da bisher leider nichts gefunden, was mir wirklich geholfen hätte :(

MfG Z4ppy

Z4ppy 17. Jan 2010 12:11

Re: IdTCPServer => IdTCPClient?
 
Kann mir da niemand weiterhelfen? :(

MfG Z4ppy

sirius 17. Jan 2010 12:40

Re: IdTCPServer => IdTCPClient?
 
Was soll man da antworten? Normalerweise gibt es dafür ein Ereignis (onRead o.ä.).

Und nun?

Z4ppy 17. Jan 2010 13:47

Re: IdTCPServer => IdTCPClient?
 
Normalerweise.....

Also bei mir gibts im Client folgende Ereignisse:
OnConnected
OnDisconnected
OnStatus
OnWork
OnWorkBegin
OnWorkEnd

Welches davon isses nun? :gruebel:

MfG Z4ppy

Der.Kaktus 17. Jan 2010 13:53

Re: IdTCPServer => IdTCPClient?
 
Hallo,

schau Dir mal das an..vielleicht hilft es Dir weiter..Indy Server/Client

Z4ppy 17. Jan 2010 14:01

Re: IdTCPServer => IdTCPClient?
 
Hilft leider nicht, da es dort gar nicht um das Senden von Nachrichten vom Server zum Client geht, sondern umgedreht ;)

MfG Z4ppy

Klaus01 17. Jan 2010 14:10

Re: IdTCPServer => IdTCPClient?
 
Hallo,

erstelle Dir einen TCPClientThread,
dieser Connected sich zum Server.

In der Execute Methode schaut der Thread
nach ob in seinem Inputbuffer etwas enthalten ist.
Wenn ja wird der Inhalt verarbeitet.


Delphi-Quellcode:
if tcpClient.Connected then
  if not tcpClient.IOHandler.InputBufferIsEmpty then
    begin
      s:= tcpClient.IOHandler.InputBufferAsString;
      alarmFilter.getData(s);
      reports.getData(s);
      s:='';
      noDataCounter := 0;
      addNewLine := true;
    end
  else
    begin
      sleep(100);
      inc(noDataCounter);
      if (noDataCounter > 5) and addNewLine then
        begin
          addNewLine := false;
          alarmFilter.getData(#13#10);
        end;
     end;
Grüße
Klaus

Z4ppy 17. Jan 2010 14:13

Re: IdTCPServer => IdTCPClient?
 
Habe grad meine Sachen nicht da, werde das nachher mal testen :)
Klingt aber sehr vielversprechend ^^

Danke dir :thumb:

MfG Z4ppy

Z4ppy 20. Jan 2010 15:38

Re: IdTCPServer => IdTCPClient?
 
So, jetzt ist "nachher" :mrgreen:

Leider geht es nicht, meine Version des IOHandlers scheint noch keine InputBufferIsEmpty und InputBufferAsString Methoden zu haben... Ist das evtl. erst ab einer neueren Version verfügbar? (Habe die Indys, die bei D7 dabei sind)

MfG Z4ppy

rollstuhlfahrer 20. Jan 2010 15:49

Re: IdTCPServer => IdTCPClient?
 
wie wäre es mit IdTcpClient.ReadLn()?
Dein Server-Dienst wird ja wohl auch nur dann antworten, wenn er eine Anfrage bekommen hat. Und wenn er direkt nach dem Verbinden was schickt ist auch nicht schlimm. Dann sagst du dem Clienten, dass er nach dem Verbindungsaufbau nach was zu horchen hat. (ReadLn)

Bernhard


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:46 Uhr.
Seite 1 von 2  1 2      

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