2011-09-30 4 views
1

HttpURLConnection을 사용하여 웹 페이지에 대한 연결을 엽니 다. connect() 메서드를 호출하여 연결을 엽니 다.HttpURLConnection이 설립되었을 때 알 수 있습니까?

isConnected() 방법을 찾지 못했습니다.

서버와의 연결 시간을 알아야합니다. 여러 연결을 열어 볼 수있는 빠른 방법을 찾았 기 때문에 필요합니다. 한 객체는 연결을 열고 다른 객체는 서버와의 통신을 설정 한 연결로 일부 처리를 수행합니다.

프로세서를 항상 사용하고 싶습니다.

답변

1

정보가 필요한 이유가 확실하지 않습니다.

connect() 번으로 전화를 걸면 걱정하지 않아도됩니다. 예 :

int responseCode = connection.getResponseCode();//Get HTTP status code 

물론 모든 요청을 출력 스트림으로 보냈다고 가정합니다.

후드 아래에있는 HttpURLConnection은 이미 서버에 연결되어 있고 구현에서 연결을 다시 사용하는지 여부를 알고 있습니다.

지금, 당신의 질문에 대답했다 데, 나는 HttpURLConnection의 상태가 서버에 연결되어있는 경우 유일한 방법은 알고있는 같은HttpURLConnection 객체에 openConnection() 시간을 호출하는 생각 .

이미 연결되어있는 경우 이 이미 연결된과 같은 관련 예외가 발생합니다 (IllegalStateException("Already connected");). 그 시점에서

당신은 HttpURLConnection이 엉망이 될 수

+0

이 객체 (URLConnection 인스턴스)는 상태 (preconnect 또는 postconnect())에 따라 다른 동작을하기 때문에이 정보가 필요합니다. 'URLConnection' 인스턴스를 처리하는 코드는 상태를 필요로하는 _without_을 올바르게 처리해야 할 경우 해당 상태를 결정해야하며 연결을 담당하는 컨텍스트와 동일한 컨텍스트에 있다고 가정하면 안됩니다. 예를 들어, 당신이'URLConnection' 인스턴스에서 모든 gett'able 값을 덤프하는 함수를 작성했다면 어떻게 헤더 필드를 처리하겠습니까? –

0
httpURLConnection con = new httpURLConnection(some URL object); 

con.getHeaderField(httpURLConnection.HTTP_CREATED); 
+0

헤더 정보가 연결되어 있는지 알고, 난 아무것도에 대한 헤더에 의존하지 마십시오. 그러나 이것은 올바른 방향으로 향해야합니다. – DefyGravity

관련 문제