안녕하세요.. 아래와 같이 setConnectTimeout, setReadTimeout을 사용하는데
10초가 지나도 빠져나올 Exception으로 갈 생각을 안하네요...
20초 정도 지나서야 닫기, 대기 팝업만 뜨고요.
단말기와 무선 공유기는 연결되 되어 있고 무선공유기와 인터넷은 연결이 안되어 있는 상황입니다.
타임아웃 잘먹게 하는 방법좀 알려주세요
URLConnection urlConnection= null;
HttpURLConnection httpConnection = null;
try {
URL url = new URL(urlString);
Log.d(tag, "<<<<< printXmlFromUrl. url : "+url);
urlConnection = url.openConnection();
httpConnection = (HttpURLConnection) urlConnection;
if (httpConnection != null) {
httpConnection.setConnectTimeout(7000);
httpConnection.setReadTimeout(3000);
if (httpConnection.getResponseCode() == HttpURLConnection.HTTP_OK) {
Log.d(tag, "<<<<< printXmlFromUrl. HttpURLConnection.HTTP_OK");
InputStream inputStream = httpConnection.getInputStream();
// Parsing XML Document
createjDomParser(inputStream);
inputStream.close();
} else {
Log.d(tag, "HTTP Response is not \"HTTP Status-Code 200: OK.\"");
}
}
} catch (Exception e) {
Log.e(tag, "<<<<< Exception :" + e.getMessage());
} finally {
Log.d(tag, "<<<<< finally");
httpConnection.disconnect(); //connection close
}
으음.. 꼭 HttpURLConnection 을 써야 할 이유가 없으시다면 Socket 을 이용해서 직접 연결을 시도해 보시는건 어떨런지요...?
번거롭긴 하겠지만.. 전 Socket 을 이용해서 직접 연결을 하고있는데 Timeout 으로 잘 뜨네요
m_sockClient = new Socket();
SocketAddress remoteAddr = new InetSocketAddress(HOSTNAME, SERVER_PORT);
try {
m_sockClient.connect(remoteAddr, nConnTimeout);
}