📄 arwinnettool_t.h
字号:
#ifndef ArWinNetTool_TH
#define ArWinNetTool_TH
#include <WinSock2.h>
//#include "ArMemoryPool_T.h"
#include "..\public\ArNetInterface.h"
USE_NETPKG
#define ICMP_ECHO 8
#define ICMP_ECHOREPLY 0
#define MAX_PERMIT_TIME 1000
//-------------------------------------------------------------------------------
#define ICMP_MIN (8 + 4)
//-------------------------------------------------------------------------------
// IP header
typedef struct _tagX_iphdr
{
unsigned char h_len:4; // length of the header
unsigned char version:4; // Version of IP
unsigned char tos; // Type of service
unsigned short total_len; // total length of the packet
unsigned short ident; // unique identifier
unsigned short frag_and_flags; // flags
unsigned char ttl; // ttl
unsigned char proto; // protocol (TCP, UDP etc)
unsigned short checksum; // IP checksum
unsigned int sourceIP;
unsigned int destIP;
}XIpHeader;
// ICMP header
typedef struct _tagX_icmphdr
{
unsigned char i_type;
unsigned char i_code;
unsigned short i_cksum;
unsigned short i_id;
unsigned short i_seq;
unsigned long i_timestamp;
}XIcmpHeader;
//-----------------------------------------------------------------------------
class ArWinNetTool_T:public ArNetTool_T
{
public:
unsigned long __stdcall StrToAddress(char* strAddressInfo);
bool _stdcall AddressToStr(unsigned long ulAddress, char* pStrAddress);
bool __stdcall LocalAddress(unsigned long& ulAddress);
bool __stdcall PingRemote(unsigned long ulAddress,int& iTime);
bool __stdcall GetHostName(char* strName, int iStrLength);
bool __stdcall Destroy(void);
bool __stdcall ParseAddress(unsigned long ulAddress,
int* pa,
int* pb,
int* pc,
int* pd);
ArWinNetTool_T();
~ArWinNetTool_T();
private:
SOCKET m_PingSocket;
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -