0
我有一個使用Indy TCPServer和TCPClient的delphi應用程序我使用AContext.Bindind.Handle來識別每個連接(錯誤?)。Indy TCP服務器 - 處理OnDisconnect allready已刪除?
所以我有顯示網格的連接,我會刪除斷開連接後,輸入:
procedure TfrmMain.serverIndyDisconnect(AContext: TIdContext);
var I:Integer;
begin
for I := 0 to gridClients.RowCount - 1 do
begin
if gridClients.Cells[0, I] = IntToStr(AContext.Binding.Handle) then
begin
gridClients.Rows[I].Delete(I);
end;
end;
WriteLogEntry('Connection closed... (' + AContext.Binding.PeerIP+')');
end;
但在斷開事件,手柄媒體鏈接空(它曾經401xxxxx,所以最後整型數)。
想法?
很好的建議。始終使用自己的標識符,不要將Indy的內部對象和句柄用作ID。 – 2010-05-18 20:58:22