- 54
- 0
- 约9.86千字
- 约 12页
- 2016-11-27 发布于河南
- 举报
MFC实现的ping功能
/xuesongshu/archive/2013/02/22/2921481.html方法:如何解决用MFC实现的ping功能中把目标主机不可到达的当成ping通的问题转载请注明来源:/xuesongshu//xuesongshu/ 网上查到的资料能实现ping功能,但是都有一个问题,它只检测是否存在错误,而不检测ICMP数据包是哪个机器回复的,这样造成一种错误的情况:当PC与路由器连通时,如果路由器回复该主机不可达,那么程序一样回应PING通了。目前网络上搜索不到相关正确的资料,我把我的方法分享给网友们。运行截图:本段程序代码是我做的一个软件的其中的一个功能。该方法是一个线程的主体。123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102UINT?DoPingHost(LPVOID?lParam){?WSADATA wdPing;?SOCKET skPing;?DWORD?dwIpDest;?LARGE_INTEGER liBegin,liEnd,liClockFrequency;?double?dSpan=0;?struct?sockaddr_in destAddr,fromAddr;?int?nTimeOut=3000,nPingCount=4,nBread=0,nFromLen=sizeof(fromAddr),nPingPort=0,nPingFailCount=0,nSliderPos=0;?char* cIcmpData=new?char[10];?char?cLoalName[100],cRecvBuffer[100];?IcmpHeader* icmpData=(IcmpHeader*)cIcmpData;?CLanCopyDlg* cd=(CLanCopyDlg*)lParam;?CString szMsg,szTmp;?BOOL?bCanBrowse=FALSE;?::QueryPerformanceFrequency(liClockFrequency);?memset(cIcmpData,0,sizeof(IcmpHeader));?cd-GetDlgItem(IDC_BUTTON_MACHINE)-EnableWindow(FALSE);?cd-GetDlgItem(IDC_BUTTON_MACHINE)-SetWindowText(请稍等);?if?(::WSAStartup(MAKEWORD(2,1),wdPing))?{?::MessageBox(cd-m_hWnd,TEXT(网络初化异常,Socket创建失败!),异常,MB_OK|MB_ICONERROR);?return?0;?}?skPing=socket(AF_INET,SOCK_RAW,IPPROTO_ICMP);?setsockopt(skPing,SOL_SOCKET,SO_RCVTIMEO,(char*)nTimeOut,sizeof(nTimeOut));?((CIPAddressCtrl*)(cd-GetDlgItem(IDC_IPADDRESS_DEST)))-GetAddress(dwIpDest);?dwIpDest=MAKEIPADDRESS(FOURTH_IPADDRESS(dwIpDest),THIRD_IPADDRESS(dwIpDest),SECOND_IPADDRESS(dwIpDest),FIRST_IPADDRESS(dwIpDest));?destAddr.sin_addr.S_un.S_addr=dwIpDest;?destAddr.sin_family=AF_INET;?srand(time(NULL));?nPingPort=rand()%1024+1024;?destAddr.sin_port=nPingPort;?icmpData-i_type=8;?icmpData-i_code=0;?icmpData-i_id=(u_short)::GetCurrentProcessId();?icmpData-i_seq=0;?gethostname(cLoalName,100);?nSliderPos=0;?cd-m_sliderCopyFile.SetPos(nSliderPos);?for?(int?i=0;inPingCount;i++)?{?::QueryP
您可能关注的文档
最近下载
- 广东省深圳市深圳实验学校等校联考2024-2025学年九年级下学期开学考试语文试题(含答案).docx VIP
- 急性心梗转运流程图解.pptx
- 2025年房地产经纪人房地产市场特点综合案例分析专题试卷及解析.pdf VIP
- 党员领导干部2025年度民主生活会对照检查材料范文.docx VIP
- 2025年演出经纪人保护未成年人艺人的特殊义务与权利专题试卷及解析.pdf VIP
- ALINCO DR-635中文操作手册.pdf
- 2025年AWS认证Fargate网络隔离与安全组精细化配置专题试卷及解析.pdf VIP
- 2025年房地产经纪人市场比较法与其他估价方法(收益法、成本法)的混合应用专题试卷及解析.pdf VIP
- 2025年项目管理专业进度绩效指数在应对“黑天鹅”事件中的弹性分析专题试卷及解析.pdf VIP
- 【高考数学】2025年高考数学二级结论篇(核心知识背记手册).pdf
原创力文档

文档评论(0)