Delphi XE 10.2 de indy 10.6 verisyonunda basit TCP haberleşmesi yapıyorum. client ile bağlantıyı sağlayıp data gönderiyorum
bağlantıyı sonlandırabiliyorum. Ama server bağlantıyı kesince client bağlantı koptu şeklinde geri dönüş yapmıyor. Nerede hata yapıyorum.
teşekkürler.
kodlarım şöyle:
client;
Kod: Tümünü seç
procedure TForm1.baglanClick(Sender: TObject);
begin
IdTCPClient1.Host:=Edit1.Text;
IdTCPClient1.Port:=strtoint(Edit2.Text);
try
if (IdTCPClient1.Connected) then
begin
Timer1.Enabled:=false;
idTcpClient1.IOHandler.InputBuffer.clear;
IdTCPClient1.Disconnect;
end
else if (not IdTCPClient1.Connected ) then
begin
IdTCPClient1.Connect;
end ;
Except
//on E: Exception do
ShowMessage('Bağlantı hatası , internet ve cihazı kontrol edin');
labelinfo.Text:=' Bağlantı KOPTU ';
end;
end;
procedure TForm1.IdTCPClient1Connected(Sender: TObject);
begin
kesme.Create;
labelinfo.Text:=' Bağlantı Sağlandı ';
IdTCPClient1.IOHandler.Writeln('OK');
Timer1.Enabled:=true;
end;
procedure TForm1.IdTCPClient1Disconnected(Sender: TObject);
begin
labelinfo.Text:=' Bağlantı KOPTU ';
end;
Kod: Tümünü seç
procedure TForm1.Button1Click(Sender: TObject);
begin
if (IdTCPServer1.Active) then
begin
IdTCPServer1.Active:=false;
Button1.Text:='OPEN PORT';
end
else
begin
IdTCPServer1.Active:=true;
Button1.Text:='CLOSE PORT';
end;
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
IdTCPServer1.Free;
end;
procedure TForm1.IdTCPServer1Connect(AContext: TIdContext);
var PeerIP : String;
begin
Label1.Text:='open';
end;
procedure TForm1.IdTCPServer1Disconnect(AContext: TIdContext);
begin
Label1.Text:='discon';
end;