제목에서 말한 것과 같이 Wifi에 연결 되어있으나, Wifi가 인터넷에 연결되어 있지 않아 실제론 인터넷이 안되는 경우 인터넷 연결 여부를 확인하고 싶습니다.

 

인터넷에 돌아다니는 인터넷 연결 여부는 3g 혹은 wifi 연결 여부만을 확인해서 적용되지 않는 경우 같고요..

 

isReachable을 써서 인터넷 연결되어있는지 여부를 물을까 했는데 Android에서 isReachable 함수가 ping을 날려보내는 것이 아니라 특정 port에 tcp 통신하는거라 그 port가 열린 서버가 있어야 하는 것이라 시도도 못했고..

 

Http 통신으로 외부의 페이지에 연결해보고 값을 받아올 수 있으면 연결되어있다.라고 체크하려고 하는 방법을 쓰는데 3g, wifi가 모두 꺼진 상태에서 실험하면 제대로 Timeout이 먹는데 Wifi에 연결되어있으나 Wifi가 인터넷이 연결 안된경우 Timeout을 먹지 않아 약 1분간 멈추는 현상이 발생하더군요.

 

혹시 HttpURLConnection에서 Timeout이 안먹히는 이유를 아시거나 Wifi연결은 되어있으나 Wifi가 인터넷에 연결이 되어있지 않은 경우 인터넷 연결 여부를 확인 하는 방법 아시는분  많은 조언 부탁드립니다.

 

감사합니다.