반응형
C++ Ping 예제소스로 입력한 아이피의 네트워크 연결을 확인할 수 있다.
# 개발환경
- 개발도구 : Visual Studio Community 2017
# 결과
- 입력한 아이피(127.0.0.1)로 ping 명령어 전송함.
- 정상 ping 송수신 시 OK, 비정상인 경우 Not OK

# 예제소스
- _popen, _pclose 함수를 사용하여 명령프롬프트(CMD) 실행함.
- ping -n 1 -w 1 127.0.0.1 | findstr TTL
#include <iostream>
int sendPing(char* ipAddr);
int main()
{
char ipAddr[128] = "127.0.0.1";
int flagChk = sendPing(ipAddr);
if(flagChk==1) printf("OK\n");
else printf("Not OK\n");
return 1;
}
int sendPing(char* ipAddr){
FILE* cmdWnd;
char cmdPing[64];
char buf[128] = {0, };
bool flagPingOk = 0;
sprintf(cmdPing, "ping -n 1 -w 1 %s | findstr TTL", ipAddr);
cmdWnd = _popen(cmdPing, "r");
if(cmdWnd != NULL){
int bufLineCnt = 0;
while(fgets(buf, 128, cmdWnd) != NULL){
printf("Reply from %s : bytes=32, time<1ms, TTL=128\n", ipAddr);
bufLineCnt++;
}
if(bufLineCnt > 0) flagPingOk = 1; // Connected
else flagPingOk = 0; // Not Connected
}
_pclose(cmdWnd);
return flagPingOk;
}
감사합니다.
잘못된 정보나 오타 및 수정사항이 있을 경우 댓글로 달아주시면 감사하겠습니다.
반응형
'Apps. > C & C++' 카테고리의 다른 글
| [C++/Console] 콘솔창 마우스 드래그 방지 (마우스/키보드 입력 비활성화) (0) | 2022.03.12 |
|---|---|
| [C++/Win32] 프로그램 중복 실행 확인하기(FindWindow) (0) | 2022.03.09 |
| [C++/Win32] 변수 값을 파일에 읽고 쓰기 (.ini파일) (0) | 2022.03.06 |