📄 ping.h
字号:
// Ping.h: interface for the CPing class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_PING_H__1795566F_5C91_459D_BF56_62925F416138__INCLUDED_)
#define AFX_PING_H__1795566F_5C91_459D_BF56_62925F416138__INCLUDED_
#include "ace/Basic_Types.h"
class CPing
{
public:
//如果ping通,返回非0,
//没有ping通,返回0
static BOOL PingHost(DWORD dwNetOrderIP,int trynums, int timeout);
//如果ping通,返回非0,
//没有ping通,返回0
static BOOL PingHost(DWORD dwNetOrderIP,int trynums, int timeout,const void * pPingData,int len);
};
class CPingFunc
{
public:
//如果ping通,返回非0,
//没有ping通,返回0
static int ping(DWORD dwNetOrderIP,int trynums, int timeout,const void * pPingData,int len,ACE_HANDLE sock);
private:
static void fill_icmp_data(char * icmp_data,ACE_UINT16 i_process_id,ACE_UINT16 seq,const void * pPingData,int len);
static int decode_resp(const char *buf, int bytes,ACE_UINT16 i_process_id,ACE_UINT16 seq,const void * pPingData,int len);
static ACE_UINT16 checksum(const ACE_UINT16 *buffer, int size);
};
#include "ace/OS_NS_sys_socket.h"
class CPingObj
{
public:
CPingObj();
~CPingObj();
public:
//失败返回0,成功返回其它
int Init(int timeout=300);
int ping(DWORD dwNetOrderIP,int trynums,const void * pPingData,int len);
//由程序随机构成pPingData和len
int ping(DWORD dwNetOrderIP,int trynums);
private:
ACE_HANDLE m_sockRaw;
int m_timeout;
};
#endif // !defined(AFX_PING_H__1795566F_5C91_459D_BF56_62925F416138__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -