C++ 網絡連通性檢測的實現方法
目前成都創新互聯已為成百上千家的企業提供了網站建設、域名、網頁空間、網站改版維護、企業網站設計、陽原網站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協力一起成長,共同發展。
有時程序需要保持和某個指定網絡的連通,有人的情況下我們直接用ping命令查看即可,然而程序自身檢測會稍微麻煩一點。
實現思路如下:
用程序打開控制臺->運行ping命令,并指定控制臺返回值寫入到文件中->分析文件,得到ping命令返回狀態->得到網絡連通情況
代碼如下:
#include <windows.h> #include <stdio.h> #include <string> using namespace std; bool AnalysisFile() { bool rState;//返回狀態 FILE *file; char ln[80]; fopen_s(&file, "returnpingdata.txt", "r"); fgets(ln, 80, file);//讀入空行,舍棄 fgets(ln, 80, file);//讀入ping信息,舍棄 fgets(ln, 80, file);//讀入ping對象返回值,用來分析 string data = ln; int iPos = data.find("="); data = data.substr(iPos+1,3);//截取字符串返回字節數 int n = atoi(data.c_str()); rState = n > 0; fclose(file); return rState; } void main() { // -n 1指定發送1位數據,-w // 1000指定超過1000ms為超時 // >returnpingdata.txt指定命令行返回值輸出到returnpingdata.txt文件中 char *cmdstr= "cmd /c ping www.baidu.com -n 1 -w 1000 >returnpingdata.txt"; WinExec(cmdstr, SW_HIDE); Sleep(1000);//等待1000ms bool returndata = AnalysisFile();//分析命令行返回文件,得到網絡連接情況 if (returndata==true) { printf("網絡連接成功\n"); } else { printf("網絡連接失敗\n"); } getchar(); }
如有疑問請留言或者到本站社區交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
當前題目:C++網絡連通性檢測的實現方法
分享URL:http://m.kartarina.com/article26/gspijg.html
成都網站建設公司_創新互聯,為您提供自適應網站、網站建設、網站內鏈、網站制作、外貿建站、做網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯