//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; }IP地址是否能ping通 (非调用系统cmd指令方式)
张小明
前端开发工程师
【毕业设计】机器学习基于深度学习算法训练数字识别
博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…
当AI客服开始“察言观色”:以云蝠智能为例,大模型如何定义呼叫
当客服机器人开始“察言观色”,一通外呼电话能感知用户情绪并提供安慰,AI正在重塑企业与客户的每一次连接。“我是刚刚给您打过电话的XXX。”——这不是人类客服的标准话术,而是AI机器人在模拟真人沟通时,为避免用户反感而设计的过…
基于SpringBoot的美食信息推荐网站系统(毕业设计项目源码+文档)
课题摘要基于 SpringBoot 的美食信息推荐网站,聚焦美食消费 “个性化推荐、信息精准触达、场景化选品” 的核心需求,针对传统美食网站 “内容同质化、口味匹配度低、场景适配性差” 的痛点,构建覆盖消费者、餐饮商家、平台运营者的全流程智能…
南洋理工大学团队重新定义AI看世界:让机器像人类一样观察和思考
这项由南洋理工大学、南京理工大学、阿德莱德大学、百度、CSIRO以及商汤科技等多家知名机构合作的研究发表于2024年12月,研究团队包括唐伟、孙彦鹏、张珊、李晓凡等众多学者。有兴趣深入了解的读者可以通过论文编号arXiv:2512.01988v1查询完整论文。这项名为"A…
自考必看!8个高效降AIGC工具推荐
自考必看!8个高效降AIGC工具推荐 AI降重工具:自考论文的“隐形护盾” 在自考论文写作过程中,越来越多的学生开始关注“AIGC率”和“查重率”的问题。随着人工智能技术的广泛应用,许多学生在使用AI生成内容时,发现论文中…
力扣数据库——员工奖金
员工奖金https://leetcode.cn/problems/employee-bonus/ 一 题目 表:Employee Column NameTypeempIdintnamevarcharsupervisorintsalaryint empId 是该表中具有唯一值的列。该表的每一行都表示员工的 id 和姓名,以及他们经理的 id 和他们的工资。表…