idtcpclient的disconnect的有关问题

idtcpclient的disconnect的问题
调用idtcpclient1.Disconnect;

procedure TForm1.IdTCPServer1Disconnect(AThread: TIdPeerThread);
begin
memo1.Lines.Add('断开连接');
end;
怎么触发不了啊,怎样判断客户端断开连接了

------解决方案--------------------
你肯定没链上,不然不会这样的,判断是否断开可以用 if not IdTCPClient1.Connected then 来判断,
你试下下面的代码:?
procedure TForm1.Button1Click(Sender: TObject);
begin
IdTCPClient1.Host := 'www.csdn.com.cn';
IdTCPClient1.Port := 80;
IdTCPClient1.Connect();
end;

procedure TForm1.IdTCPClient1Status(axSender: TObject;
const axStatus: TIdStatus; const asStatusText: String);
begin
Memo1.Lines.Add(asStatusText);
end;

procedure TForm1.IdTCPClient1Disconnected(Sender: TObject);
begin
Memo1.Lines.Add('断了吧')
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
IdTCPClient1.Disconnect();
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
if not IdTCPClient1.Connected then
begin
Memo1.Lines.Add('断开了');
end
else
begin
Memo1.Lines.Add('连着呢');
end;
end;
我机器上试是没问题的
------解决方案--------------------
还是定时发包检查吧,,像你那样你拔掉网线试试
------解决方案--------------------
idtcpclient1.Disconnect是可以触发IdTCPServer1的Disconnect消息的。可能是其他问题
------解决方案--------------------
不好意思,看错了,异常断开的话可能不会触发IdTCPServer1Disconnect事件,可以发包检测
------解决方案--------------------
打开TCP/IP的keepalive机制,设置成10秒检测,这样就可以即时判断出网络的物理中断
------解决方案--------------------
给出代码看看你是否如何解决的?