2013-09-22 4 views
0

클라이언트가 서버에 연결할 때 연결에 사용 된 호스트 이름을 확인할 수 있습니까? 예를 들어, entry1.domain.com과 entry2.domain.com이 동일한 IP (사용자의 서버)를 가리키고 클라이언트가 서버에 연결하기 위해 하나를 사용한다면 어떤 호스트 이름이 소켓을 만드는데 사용되었는지 구분할 수 있습니다 연결?자바 서버 - 클라이언트가 사용하는 호스트 이름을 가져올 수 있습니까?

+0

프로토콜이 가상 호스트 (예 : HTTP)를 지원하지 않는 한 불가능합니다. – escitalopram

+0

HTTP 1.1을 사용하고 있습니까? 그렇다면 "클라이언트는 모든 HTTP/1.1 요청 메시지에 호스트 헤더 필드를 포함해야합니다." – Renato

+0

이것은 TCP 연결입니다. – gklive

답변

0

일반적으로 클라이언트는 원하는 호스트 이름을 서버에 보냅니다. 예 : 이것은 HTTP가하는 것입니다. TCP를 통해 원하는 데이터를 보낼 수 있습니다. 즉, 원하는 호스트 이름을 보낼 수 있습니다.

다른 접근법은 동일한 호스트에 대해 여러 IP 주소를 사용하고 Java의 다른 IP 주소에 바인딩하는 것입니다. 이렇게하면 고유 한 가정하에 어떤 주소가 사용되었는지 알 수 있습니다.

0

순수한 TCP 연결이 아닙니다. IP 주소를 얻을 수는 있지만 클라이언트가 그 IP 주소를 얻기 위해 사용했던 호스트 이름을 알 수 없습니다.

관련 문제