Also das mit dem schnellen Connecten und Disconnecten usw. funktioniert nun. KA wieso...
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
With IdTCPClient1 Do
begin
Host:= Eip.Text ;
Port:= StrToInt(Eport.Text) ;
connect ;
end;
end;
Hier werden
IP Adresse (bisher ausschließlich reine
IP Adresse) und der Port der Client Komponente zugewisen und eien verbindung hergetsellt.
Delphi-Quellcode:
procedure TForm1.IdTCPClient1Connected(Sender: TObject);
begin
Memo1.Lines.Add(IdTCPClient1.ReadLn) ;
end;
Fals eine Verbindung zu stand egekommen ist, wird der gesendete String vom Server im programm des Clients ausgegeben.
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
begin
With IdTCPClient1 Do
begin
writeLn('QUIT') ;
Memo1.Lines.Add(ReadLn) ;
disconnect;
end;
end;
Hier wird die Verbindung mit Hilfe eine sButtosn unterbrochen. An den Server wird das Server Commadn "QUIT" gesendet, der Rückgabewert wird im Clinet ausgegeben und di eVerbindung wird nochmals von seiten des Clinets unterbrochen.
Delphi-Quellcode:
procedure TForm1.IdTCPClient1Disconnected(Sender: TObject);
begin
Memo1.Lines.Add('Verbindung verloren/getrennt.') ;
end;
Nochmals bestätigung der Trennung der Verbindung.
Delphi-Quellcode:
procedure TForm1.BsendenClick(Sender: TObject);
begin
With IdTCPClient1 Do
begin
writeLn(Ecommands.Text) ;
Memo1.Lines.Add(Ecommands.Text) ;
Memo1.Lines.Add(ReadLn) ;
end;
end;
Hier istv der Sendebutton für Befehle an den Server.
Wie kann ich den mehrzeilige Nachrichten vom Server "einholen" ?
ReadLn holt ja scheinbar nur eine Zeile und nicht jede gesendete.
mfg
Cya
/edit: nun geht das wieder nicht mit dem schnellen hin und her connecten -.-