서버로 접속한 클라이언트의 IP주소를 알아내는 법입니다..
procedure TForm1.IdTCPServer1Execute(AThread: TIdPeerThread);
Var
stTemp : String;
begin
stTemp:= AThread.Connection.Socket.Binding.PeerIP;
end;
뜸부기 님이 쓰신 글 :
: 인디소켓(8.0버전임)을 사용하여서 채팅프로그램을 만들고 있습니다.
:
: 만들고 보니 클라이언트에서 같은 아이피를 가지고도 접속이 된다는 것을 알았습니다.
:
: 이걸 해결하려면 우선적으로 서버쪽에 있는 클라이언트리스트 즉 LockList와
:
: 클라이언트의 아이피를 비교를 해야하는데
:
: 이걸 클라이언트가 서버에 접속을 하려는 이벤트에서 같은 아이피가 들어오면 차단을 시켜야하는데
:
: 클라이언트의 아이피를 어떻게 알아내야 할지 막막합니다.
:
: 그리고 LockList에 있는 클라이언트당 쓰레드가 할당되어서 그 목록이 이 리스트에 들어가는데
:
: 이때 클라이언트의 아이피정보도 같이 가지고 있는지 그리고 그걸을 접속하려는 클라이언트 아이피와
:
: 비교를 하려면 어떻게 하는지 알고 싶습니다.
:
: 저의 궁금증을 해소해주십시오
:
: 그럼 이만...
|