Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Indy 9 Server Klient Problem (Verbindung) (https://www.delphipraxis.net/98937-indy-9-server-klient-problem-verbindung.html)

axelf98 4. Sep 2007 12:32


Indy 9 Server Klient Problem (Verbindung)
 
Hallo!
Ich schreibe ein Serverporgramm wo ein Klient eine Nachricht hinschickt.
Klient: REQUEST_LOGIN
Server bekommt das mit und sendet ihm darauf hin eine kleine Datei zu.

Soweit bin ich bis jetzt.
Nachricht beim Server Request_Login kommt an. Er versucht dem Klienten zu antworten. Diese Antwort kommt nicht an.

Senden beim Klienten sieht so aus:

Delphi-Quellcode:
procedure TServerClientFenster.BefehlSenden(pBefehl: String);
begin
     if TCPClient.Connected then
     begin
         LoggeVerbindungen('Sende Befehl '+TCPClient.Host+' : '+inttostr(TCPClient.Port)+' :' +pBefehl);
         TCPClient.WriteLn(pBefehl);
     end;
end;
Beim Empfänger arbeite ich mit dem TIdPeerThread der beim ONExecute ankommt:

Delphi-Quellcode:
procedure TServerClientFenster.TCPServerExecute(AThread: TIdPeerThread);
var
    Command : String;
begin
     Command := AThread.Connection.ReadLn(#$A,5500);

     Athread.Connection.WriteLn('Blubb');  // Das kommt nicht an

end;
Ich hab die Vermutung, dass man nicht sofort an den TIDPeerThread wieder etwas senden kann. Wie kann ich dem Klienten antworten?
Er ist auf jeden Fall erreichbar, es gibt keine Firewall!

Danke für Hinweise :)

Tormentor32 4. Sep 2007 13:11

Re: Indy 9 Server Klient Problem (Verbindung)
 
Du musst auch im Client ein ReadLn oder ReadLine (weiß grad nicht) ausführen, um den Befehlstring zu empfangen! Aber pass auf, dass dein Programm nicht einfriert!

axelf98 4. Sep 2007 13:30

Re: Indy 9 Server Klient Problem (Verbindung)
 
Stimmt, so müsste es gehen. Dachte der Server beim Clienten (haben beide Server und Client) würde die Nachricht empfangen...

axelf98 4. Sep 2007 13:48

Re: Indy 9 Server Klient Problem (Verbindung)
 
Wie kann ich denn dann dem Clienten eine Datei schicken?

DataCool 4. Sep 2007 22:31

Re: Indy 9 Server Klient Problem (Verbindung)
 
Hi,

Server und Client haben beide die Methoden Read, ReadLn, ReadStream etc.

Gerade zu Indy9 habe ich zu dem Thema ein schönes Bsp. gemacht :

Versenden von Dateien unter Indy9

Greetz DataCool


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