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

📄 eroomnetavi.h

📁 network library that can be use all network application!
💻 H
字号:
#ifndef		EROOMNETAVI_DEF
#define		EROOMNETAVI_DEF

#include	"WiseNet.h"

#define		EAVI_MAXBUFFER_SIZE		8000


#define		EAVI_PACKET_FIRST		0x02	// 00000000 00000010	=> PF: FISRT PACKET
#define		EAVI_PACKET_LAST		0x01	// 00000000 00000001 => PL: LAST PACKET
#define		EAVI_PACKET_ONLY		0x03	// 00000000 00000011 => 1俺 楼府 PACKET(EN_PACKET_FIRST|EN_PACKET_LASF)
											//       00 捞搁 吝埃 菩哦 

#define	EAVI_PACKETDATA_SIZE		1200

struct __EAVI_PACKET {
	unsigned char	m_Code[2];		// Identifier ==> 2BYTE CHECK 
	unsigned char	m_Check;		// define 曼炼
	unsigned char	m_Sequence;		// 皋技瘤 老纺锅龋(0~255馆汗)
	unsigned short  m_Cmd;			// USER COMMAND	(0 ~ ) ==>  固荤侩(?)
	unsigned short	m_Len;			// Data Len;
	unsigned char	m_Data[EAVI_PACKETDATA_SIZE];
};
typedef struct __EAVI_PACKET		EAVI_PACKET;

#define	EAVI_PACKETHEAD_SIZE		(sizeof(EAVI_PACKET) - EAVI_PACKETDATA_SIZE)

#define		EAVI_CMD_INTERFRAME		0x0000
#define		EAVI_CMD_INTRAFRAME		0x0001
#define		EAVI_CMD_REQKEYFRAME	0x0002
#define		EAVI_CMD_RECVERROR		0x0003

#define		EAVI_CMD_USER			0x0010

class CEroomNetAvi : public CWiseNet
{

public:
	int				m_Version;
	unsigned char	m_Code[4];		// ID眉农巩磊 
	
	int		(*m_AviRecvFunc)(void *ap_CObject, char *ap_Ip, int a_Port, int a_Cmd, char *ap_Buff, int w_Len);
public:
	char			*mp_RecvBuff;
	int				m_RecvBuffSize;
	int				m_RecvLen;
	int				m_Seq;
	int				m_PNum;

	CEroomNetAvi(int a_QueueFlag=WN_QUEUE_NOUSE, int a_RecvBuffSize = EAVI_MAXBUFFER_SIZE);					
	~CEroomNetAvi();

	virtual void SetVersion(int a_Version)  { m_Version = a_Version;    };
	virtual int  GetVersion()				{ return(m_Version);		};

	virtual void SetRecvBuffSize(int a_Size){ m_RecvBuffSize = a_Size ;  };
	virtual void SetCode(char *ap_Code)		{ m_Code[0] = ap_Code[0];m_Code[1]= ap_Code[1];m_Code[2]=0;	};
	virtual void GetCode(char *ap_Code)		{ ap_Code[0] = m_Code[0];ap_Code[1]= m_Code[1];ap_Code[2]=0;};
	virtual char *GetCode()					{ return((char *)m_Code);	};
	virtual bool CheckCode(char *ap_Code)	{ if(ap_Code[0] != m_Code[0] || ap_Code[1] != m_Code[1]) { return(FALSE);} return TRUE; };


	virtual int SetRecvFunc(int (*ap_RecvFunc)(void *ap_CallObject, char *ap_Ip, int ar_Port, int a_Cmd, char *ap_Buff, int w_Len));

	virtual int Send(char *ap_Ip, int a_Port, int a_Cmd, char *ap_Buff, int a_Len);
	virtual int	Recv(char *ap_Ip, int &ar_Port, int &ar_Cmd, char *ap_Buff, int &ar_Len);
};


#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -