반응형
접속한 클라이언트의 IP 확인 방법.
클라이언트가 서버에게 커넥트 하고,
서버에서 접속을 요청한 클라이언트를 어셉트 해줄때,
서버는 클라이언트의 정보를 받게 되는데,
이때 접속을 요청한 클라이언트의 IP 확인이 가능하다.
struct sockaddr_in addr;
위와같이 소켓 구조체의 변수를 addr 로 선언 했다고 가정하고,
커넥트가 들어왔을때
서버는 어셉트를 해준다.
newFd = accept(fd, (struct sockaddr *)&addr, &addrLen);
이때,
inet_ntop(AF_INET, &addr.sin_addr, ip(ip를 담을 char 배열), INET_ADDRSTRLEN);
위 함수를 통해 클라이언트의 IP 를 받아올수가 있다.
두종류 이상의 클라이언트로부터 접속을 받게 되면, 이부분을 활용해
클라이언트의 IP로 어떤 클라이언트인지 구분도 가능하고,
원하지 않는 클라이언트의 접속도 차단할수 있고,
아주 아주 유용하다.
반응형