본문 바로가기
개발

인터넷 연결 상태 확인하기

by 솜씨제이 2008. 11. 27.
현재 PC의 인터넷 연결 상태를 알아 보는 가장 확실한 방법은 실제 서버에 연결해보는 것이지만 서버 상태에 따라 계속 연결이 안 될 수도 있고 타임아웃 처리도 어려울 수 있기 때문에 먼저 간단히 인터넷 연결 상태 확인이 필요한 경우가 있다. 그런 경우에는 InternetGetConnectedState() 함수를 이용해서 인터넷 연결 상태를 확인하고 실제 서버에 연결해보는 것이 가장 간단한 해결 방법이다.
#include <wininet.h>

...

DWORD flags;
if (InternetGetConnectedState(&flags, 0) && (flags
    & (INTERNET_CONNECTION_LAN | INTERNET_CONNECTION_MODEM)))
{
    Sleep(100);
    ...
}
InternetGetConnectedState()에서 TRUE를 리턴하더라도 실제 인터넷 연결이 안 된 경우도 있기 때문에 flags 값을 체크하고 연결이 됐다고 나오는 경우에도 실제 연결이 될 때까지 약간 기다려 주는 것이 좋다. InternetGetConnectedState()는 인터넷 라인의 연결 상태를 알려 주는 것으로 실제 인터넷에 연결이 되는지 확실한 것은 아니다.

댓글