⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ping.h

📁 一个用ACE别写的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 + -