news 2026/6/18 20:48:24

IP地址是否能ping通 (非调用系统cmd指令方式)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
IP地址是否能ping通 (非调用系统cmd指令方式)
//PingIp进行pingIP尝试 #include "winsock2.h" #include <IPHlpApi.h> #pragma comment(lib,"ws2_32.lib") #pragma comment(lib, "iphlpapi.lib") class CPing { public: CPing(void) { hIcmp = LoadLibrary(L"icmp.dll"); if (NULL != hIcmp) { pIcmpCreateFile = (PIcmpCreateFile)GetProcAddress(hIcmp, "IcmpCreateFile"); pIcmpSendEcho = (PIcmpSendEcho)GetProcAddress(hIcmp, "IcmpSendEcho"); pIcmpCloseHandle = (PIcmpCloseHandle)GetProcAddress(hIcmp, "IcmpCloseHandle"); } } ~CPing(void) { FreeLibrary(hIcmp); } bool Ping(const char* ipAdress_) { if (strstr(ipAdress_, ":")) { UF_print_syslog("有盘符\":\",当本地文件处理", FALSE); return 1; }//有盘符的,当本地文件处理,打印日志 const char* ipAdress__ = strstr(ipAdress_, "\\\\"); char ipAdress[256]; if (!ipAdress__) sprintf_s(ipAdress, 250, "%s", ipAdress__); else sprintf_s(ipAdress, 250, "%s", ipAdress__ + 2); char* ipAdress1 = strstr(ipAdress, "\\"); if (ipAdress1) ipAdress1[0] = '\0'; UF_print_syslog(ipAdress, FALSE);//打印日志 if (strlen(ipAdress) < 5){ UF_print_syslog("IP地址非法", FALSE); return 0; }//打印日志 ULONG ulDesIP = inet_addr(ipAdress);//将一个点分十进制的IP转换成一个长整数型数 if (ulDesIP == INADDR_NONE) return 0; // 申请发送缓冲区 void *sendBuffer = new char[32]; // 申请接收缓冲区 unsigned long replySize = sizeof(ICMP_ECHO_REPLY)+32; void *replyBuffer = new char[replySize]; PICMP_ECHO_REPLY pIcmpEchoReply = (PICMP_ECHO_REPLY)replyBuffer; // 获取ICMP echo所需句柄 HANDLE hIcmpFile = pIcmpCreateFile(); if (hIcmpFile == INVALID_HANDLE_VALUE) { delete[] sendBuffer; sendBuffer = NULL; delete[] replyBuffer; replyBuffer = NULL; return -1; } ULONG v_ulTimeout=1000;//超时时间,单位毫秒 USHORT v_usTimes=2;//能一次ping通就算成功,如果一次不行,二次,还没通,当不通处理 // 调用IcmpSendEcho,获取Ping值 for (int i = 0; i < v_usTimes; i++) { pIcmpSendEcho(hIcmpFile, ulDesIP, sendBuffer, 32, NULL, replyBuffer, replySize, v_ulTimeout); if (pIcmpEchoReply->Status == 0) // 未超时 { v_usTimes=0;break; } } //释放缓冲区,关闭句柄 delete[] replyBuffer; delete[] sendBuffer; pIcmpCloseHandle(hIcmpFile); if (v_usTimes==0)return 1; return 0; } private: HINSTANCE hIcmp; typedef HANDLE(WINAPI *PIcmpCreateFile)(VOID); typedef DWORD(WINAPI *PIcmpSendEcho)(HANDLE, IPAddr, LPVOID, WORD, PIP_OPTION_INFORMATION, LPVOID, DWORD, DWORD); typedef BOOL(WINAPI *PIcmpCloseHandle)(HANDLE); PIcmpCreateFile pIcmpCreateFile; PIcmpSendEcho pIcmpSendEcho; PIcmpCloseHandle pIcmpCloseHandle; }; //是否能PIng通 输入的地址 bool PingIp(const char* ipAdress_) { CPing pp; if (pp.Ping(ipAdress_)) return 1; return 0; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/15 18:55:14

韩国大学团队揭秘:ChatGPT等AI模型是如何“类比思考“的?

这项由韩国大学的李台雨、宋旼珠、尹赞雄、朴政宇以及姜在宇等研究者共同完成的研究发表于2025年11月的人工智能顶级会议AAAI 2026&#xff0c;研究编号为arXiv:2511.20344v1。对这一前沿研究感兴趣的读者可以通过该编号查询完整论文。在日常生活中&#xff0c;我们经常会做这样…

作者头像 李华
网站建设 2026/6/15 19:12:34

大语言模型在金融市场异常检测中的推理应用

大语言模型在金融市场异常检测中的推理应用关键词&#xff1a;大语言模型、金融市场异常检测、推理应用、数据处理、模型评估摘要&#xff1a;本文聚焦于大语言模型在金融市场异常检测中的推理应用。首先介绍了该研究的背景、目的、预期读者等信息&#xff0c;接着阐述了大语言…

作者头像 李华
网站建设 2026/6/15 14:16:30

基于储能电站服务的冷热电多微网系统双层优化配置Matlab实现

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。 &#x1f34e; 往期回顾关注个人主页&#xff1a;Matlab科研工作室 &#x1f447; 关注我领取海量matlab电子书和数学建模资料 &#x1…

作者头像 李华
网站建设 2026/6/15 14:14:46

深度学习计算机毕设之基于python的鞋类分类

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华