Indy FAQ 에 보면 다음과 같이 되어 있지만, 실제 AThread.Connection 에 Socket 이 없어 사용할 수 없습니다.
IdIOHandlerSocket 을 use 해 주고, 아래와 같이 하면 PeerIP 를 Indy 9.0 에서 가져올 수 있습니다.
In Indy 9.0, how do I get the Peer's IP Address in the TIdTCPServer?
Use code such as this:
uses IdIOHandlerSocket;
procedure TfrmMain.TCPServerConnect(AThread: TIdPeerThread);
var PeerIP : String;
begin
// PeerIP := AThread.Connection.Socket.Binding.PeerIP; { Indy FAQ}
PeerIP := TIdIOHandlerSocket(AThread.Connection.IOHandler).Binding.PeerIP; {수정본}
end;
|