C++Ping一个IP地址的例子
=========================================== 使用方法: 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(MFC).rar
(预估有个17文件)
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
用户评论