ping.h
来自「一个用ACE别写的ping 程序」· C头文件 代码 · 共 61 行
H
61 行
// 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 + =
减小字号Ctrl + -
显示快捷键?