C++Ping一个IP地址的例子

时间:2018-12-17 13:51:32
【文件属性】:

文件名称:C++Ping一个IP地址的例子

文件大小:15KB

文件格式:RAR

更新时间:2018-12-17 13:51:32

C++ Ping

=========================================== 使用方法: 1、引入以下4个文件到项目: ping.h ping.cpp PingThread.h PingThread.cpp 2、在StdAfx.h中加入以下代码: #include // MFC socket extensions #define WM_MSG_STATUS WM_USER + 0x0100 #define WM_PING_END WM_USER + 0x0101 // string message allocator for posting messages between windows... static char* AllocBuffer(CString strMsg) { int nLen = strMsg.GetLength(); char *pBuffer = new char[nLen+1]; strcpy(pBuffer,(const char*)strMsg); ASSERT(pBuffer != NULL); return pBuffer; } 3、定义一个变量: CPingThread m_pingThread; 4、定义两个消息响应(WM_MSG_STATUS, WM_PING_END): LRESULT OnStatus(WPARAM wParam, LPARAM lParam); LRESULT OnPingEnd(WPARAM wParam, LPARAM lParam); 5、调用: m_pingThread.StartPing(5, strIPAddr, m_hWnd); 注1:参数5表示ping 5次,实际应用中随意; 6、分析结果 每ping 1次,OnStatus都会收到结果消息,如 失败返回:Request Timed Out 成功返回:Reply[n] from: 192.168.1.109: bytes=32 time=0ms TTL=64 注2:其中n 表示ping的索引(它不重要) 注3:可以在文件ping.cpp修改返回消息(void CPing::Ping(UINT nRetries,LPCSTR pstrHost,HWND hWnd))


【文件预览】:
PingDemo
----ping.h(2KB)
----PingDemoDlg.h(2KB)
----PingThread.cpp(2KB)
----res()
--------PingDemo.ico(1KB)
--------PingDemo.rc2(400B)
----PingDemoDlg.cpp(5KB)
----PingDemo.rc(5KB)
----PingThread.h(818B)
----PING.cpp(5KB)
----StdAfx.cpp(210B)
----resource.h(777B)
----PingDemo.cpp(2KB)
----StdAfx.h(1KB)
----PingDemo.dsw(539B)
----PingDemo.h(1KB)
----PingDemo.dsp(4KB)
----ReadMe.txt(1KB)

网友评论

  • 挺不错的一段代码,学习了!
  • 说明比较详细,可以学习