2017-04-06 3 views
0

Java에서 HttpsURLConnection을 사용하고 있으며 일종의 루프를 통해 나중에 내 프로그램에서 다른 스레드가 사용하는 10 개의 연결을 만듭니다.HttpsUrlConnection 개체의 고유 ID를 얻는 방법

HttpsURLConnection connection = null; 
connection = (HttpsURLConnection) url.openConnection(); 

궁금한 점 현재 스레드에서 어떤 연결을 사용하고 있는지 어떻게 알 수 있습니까? 그냥 연결의 고유 한 식별자가 필요합니다.

어떤 일이 같은

System.out.println(connection); 

그러나 System.out에 문 위의

꽤 일반적인 서버 이름을 인쇄한다. 연결 객체의 해시 코드가 아닙니다.

궁금한 점이 있습니까?

+2

어쩌면'connection.hashCode()'? – TeWu

+0

감사합니다. Tewu. 이 Api 방법은 어떻게 보았습니다. 답변 상자에 회신 해주십시오. – Ammad

+0

또는 ['System.identityHashCode (connection)'] (http://stackoverflow.com/questions/4930781/how-do-hashcode-and-identityhashcode-work-at-the-back-end) – zapl

답변

2

java.lang.Object에 정의되어 있으며 (필요한 경우 하위 클래스에서 재정의 됨) 모든 객체에서 호출 할 수 있습니다. 귀하의 경우 connection.hashCode() 당신에게 connection 개체의 해시 코드를 제공해야합니다.

0

해시 코드는 둘 다 동일 할 수 있습니다. Hashcode를 기억하고 javadocs에서 계약과 동일합니다.

해시 코드에 의존하지 마시기 바랍니다. 좋은 연습이 아니고 일반적으로 해시 코드가 매번 다릅니다. 그러나 그것의 유일한 안심하지 않습니다.

연결 관리 API와 같은 것을 사용할 수 있습니다.

아래 링크를 참조하십시오. 도움이 될 수 있습니다.

코드 또는 전체 그림을 공유 할 수 있다면 더 좋은 방법으로 도움을 줄 수 있습니다.

http://www.baeldung.com/httpclient-connection-management

관련 문제