server client chat uygulaması hata connection close graceful

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
delphist
Üye
Mesajlar: 595
Kayıt: 05 Oca 2005 04:34

server client chat uygulaması hata connection close graceful

Mesaj gönderen delphist »

s.a. Arkadaşlar bu indy bileşenleri beni öldürecek :) Acemiyiz ama bu kadarda olmaz ki yapıyoz yapıyoz olmuyor...Sırf anlatıyorlar diye kitap aldım...adamların anlattıkları bile çalışmıyor...:( Burada oluşan hata bağlandın diyor arkasından gelen bir hata connection close gracefully....Yardımlarınızı bekliyorum...

Server

Kod: Tümünü seç

procedure TForm1.FormCreate(Sender: TObject);
begin
IdTCPServer1.DefaultPort:=20000;
IdTCPServer1.Active:=true;
end;

procedure TForm1.IdTCPServer1Connect(AThread: TIdPeerThread);
var
mak:AnsiString;
begin
StatusBar1.Panels[0].Text:='Bağlantı İsteği Geldi';
mak:=AThread.Connection.Socket.Binding.PeerIP; //ip no
ListBox1.Items.Add(mak);
AThread.Connection.WriteLn('Kabul Edildin'); //Geriye Yolla


end;

procedure TForm1.IdTCPServer1Execute(AThread: TIdPeerThread);
var
mesaj:AnsiString;
begin
 mesaj:=AThread.Connection.ReadLn();
 memo1.Lines.Add(mesaj);

end;

end.

Client

Kod: Tümünü seç

procedure TForm2.Button1Click(Sender: TObject);
begin
if IdTCPClient1.Connected then
 begin
 IdTCPClient1.Disconnect();
 Button1.Caption:='Bağlan';
 end
 else
 begin
 IdTCPClient1.Connect();
 button1.Caption:='Bağlantıyı Kes';
  end;
  
end;

procedure TForm2.Button2Click(Sender: TObject);
var
deger:AnsiString;
begin
deger:=Memo1.Lines.Strings[Memo1.Lines.count-1]; //son satır
IdTCPClient1.WriteLn('<Delphist>'+deger); //Yolla


end;

procedure TForm2.FormCreate(Sender: TObject);
begin
IdTCPClient1.Host:='127.0.0.1';
IdTCPClient1.Port:=20000;
IdAntiFreeze1.Active:=true;
IdAntiFreeze1.OnlyWhenIdle:=true;
IdAntiFreeze1.IdleTimeOut:=10;
end;

procedure TForm2.Timer1Timer(Sender: TObject);
var
deger:AnsiString;
begin
if IdTCPClient1.Connected then
 begin
 deger:=IdTCPClient1.ReadLn(); //Portu Oku
 memo2.Lines.Add(deger);
 end;


end;

procedure TForm2.Memo1KeyPress(Sender: TObject; var Key: Char);
var
deger:AnsiString;
begin
if Key=#13 then
 begin
 deger:=memo1.Lines.Strings[Memo1.Lines.count-1]; //Son satır
 IdTCPClient1.WriteLn('<Delphist>'+deger); //yolla
 end;
  

end;

procedure TForm2.IdTCPClient1Connected(Sender: TObject);
begin
label3.Caption:='Servera başarıyla bağlandın';

end;

procedure TForm2.IdTCPClient1Disconnected(Sender: TObject);
begin
label3.Caption:='Server la olan bağlantın koptu';
end;

end.

Yardımcı olursanız çok sevineceğim...Teşekkürler
fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Mesaj gönderen fduman »

Bağlantı koparsa bu hatayı verir. Hatayı Delphi altında çalıştırırsan görürsün.
Kolay Debug edebilmen için konmuştur. "bkz. Debugger Options Delphi Exceptions"

Delphi dışında bu hatayı normalde görmemen lazım.
Cevapla