개발을 하다보면 서버가 살아 있는지 확인 해야할 필요가 있다.
보통은 연결이 살아있는지 확인 하는 것이지만...
난... 그냥 HTTP서버가 잘 살아 있는지만 확인하고 싶었을 뿐이고!
그래서 뒤지다 아래같은 함수를 찿았을 뿐이고!
function IsConnected(URL: String): Boolean;
const
// Local system has a valid connection to the Internet, but it might or might
// not be currently connected.
INTERNET_CONNECTION_CONFIGURED = $40;
// Local system uses a local area network to connect to the Internet.
INTERNET_CONNECTION_LAN = $02;
// Local system uses a modem to connect to the Internet
INTERNET_CONNECTION_MODEM = $01;
// Local system is in offline mode.
INTERNET_CONNECTION_OFFLINE = $20;
// Local system uses a proxy server to connect to the Internet
INTERNET_CONNECTION_PROXY = $04;
// Local system has RAS installed.
INTERNET_RAS_INSTALLED = $10;
var
InetState: DWORD;
hHttpSession, hReqUrl: HInternet;
begin
Result := InternetGetConnectedState(@InetState, 0);
if (Result and (InetState and INTERNET_CONNECTION_CONFIGURED = INTERNET_CONNECTION_CONFIGURED) ) then begin
// so far we ONLY know there's a valid connection. See if we can grab some known URL ...
hHttpSession := InternetOpen(
PChar(Application.Title),
INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
try
hReqUrl := InternetOpenURL(hHttpSession, URL, nil, 0,0,0);
Result := hReqUrl <> nil;
InternetCloseHandle(hReqUrl);
finally
InternetCloseHandle(hHttpSession);
end;
end
else
if (InetState and INTERNET_CONNECTION_OFFLINE = INTERNET_CONNECTION_OFFLINE) then
Result := False; // we know for sure we are offline.
end;
'델파이' 카테고리의 다른 글
[델파이] DLL Injection (1) | 2009.06.17 |
---|---|
[델파이] 기본 함수 정리 (0) | 2009.06.15 |
델파이에서 메모리 누수 확인 (0) | 2009.04.20 |
IE 기본 툴바에 버튼 생성하기 (0) | 2009.03.10 |
현재 페이지의 모든 쿠키 읽어 오기 (0) | 2009.01.29 |
BeforeNavigate2 이벤트에서 PostData 읽어오기 (GET 방식과 POST 방식의 구분) (0) | 2008.12.04 |
ActiveX의 ProgID 변경하기 (0) | 2008.11.26 |
생성자 오버로딩 하기 (0) | 2008.11.20 |
동적 IP, DNS 변경 함수 (0) | 2008.11.12 |
IE Band에서 탭키, 엔터키, 델리트키(VK_TAB, VK_RETURN, VK_DELETE) 입력가능하도록 하기 (0) | 2008.10.17 |