현재 PC의 인터넷 연결 상태를 알아 보는 가장 확실한 방법은 실제 서버에 연결해보는 것이지만 서버 상태에 따라 계속 연결이 안 될 수도 있고 타임아웃 처리도 어려울 수 있기 때문에 먼저 간단히 인터넷 연결 상태 확인이 필요한 경우가 있다. 그런 경우에는 InternetGetConnectedState() 함수를 이용해서 인터넷 연결 상태를 확인하고 실제 서버에 연결해보는 것이 가장 간단한 해결 방법이다.
#include <wininet.h>InternetGetConnectedState()에서 TRUE를 리턴하더라도 실제 인터넷 연결이 안 된 경우도 있기 때문에 flags 값을 체크하고 연결이 됐다고 나오는 경우에도 실제 연결이 될 때까지 약간 기다려 주는 것이 좋다. InternetGetConnectedState()는 인터넷 라인의 연결 상태를 알려 주는 것으로 실제 인터넷에 연결이 되는지 확실한 것은 아니다.
...
DWORD flags;
if (InternetGetConnectedState(&flags, 0) && (flags
& (INTERNET_CONNECTION_LAN | INTERNET_CONNECTION_MODEM)))
{
Sleep(100);
...
}
'개발' 카테고리의 다른 글
IE8 설치 시 VS2005에서 발생하는 스크립트 에러 (0) | 2009.04.02 |
---|---|
코드사인(codesign) 자동화 (0) | 2008.12.10 |
Subverison을 위한 Windows Tools (0) | 2008.11.21 |
Windows Vista IE8(베타)의 LCIE (0) | 2008.11.19 |
Visual C++ 2005 CRT DLL 버전 충돌 문제 (0) | 2008.09.30 |
댓글