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

📄 eroomnetsession.h

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

#include	"WiseNet.h"

#define		ES_PACKET_FIRST		0x02	// 00000000 00000010	=> PF: FISRT PACKET
#define		ES_PACKET_LAST		0x01	// 00000000 00000001 => PL: LAST PACKET
#define		ES_PACKET_ONLY		0x03	// 00000000 00000011 => 1俺 楼府 PACKET(EN_PACKET_FIRST|EN_PACKET_LASF)

#define		ES_CMD_CONNECT			0x0001		// 贸澜 矫累凳 
#define		ES_CMD_SEND_START		0x0002		// 焊郴扁 START
#define		ES_CMD_SEND_STOP		0x0003		// 焊郴扁 END
#define		ES_CMD_RECV_START		0x0004		// 罐扁 START
#define		ES_CMD_RECV_STOP		0x0005		// 罐扁 END
#define		ES_CMD_DISCONNECT		0x0006		// 谗扁
#define		ES_CMD_POLL				0x0007		// POLLING
#define		ES_CMD_CONNECT_NG		0x0008		// 楷搬角菩
#define		ES_CMD_USEROPTION		0x0010		// 

#define		ES_ST_CONNECTED			0x0001		// 楷搬登绢 乐娇
#define		ES_ST_DISCONNECTED		0x0002		// 厚楷搬登绢 乐娇
#define		ES_ST_RECONNECT			0x0010		// 楷搬 犁矫档 葛靛
#define		ES_ST_TIMEOUT			0x0020		// 厚楷搬登绢 乐娇

#define		ES_POLLTIME				10000

struct __ES_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_Option;		// ES_CMD_USEROPTION 矫 荤侩 
	
};
typedef struct __ES_PACKET		ES_PACKET;

#define	ES_PACKET_SIZE		sizeof(ES_PACKET)

class CEroomNetSession : public CWiseNet
{

public:
	int				m_Version;
	unsigned char	m_Code[4];		// ID眉农巩磊 
	int				m_PollTime;
	int				m_PollFlag;
	int				m_TimeOutFlag;
	HANDLE			m_PEvent;

	int				(*mp_EroomSessionRecvFunc)(char *ap_Ip, int a_Port, int a_Command, int a_Option);
	
public:

	CEroomNetSession();					
	~CEroomNetSession();

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

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


	StartPolling();
	EndPolling();

	virtual int SetRecvFunc(int (*ap_RecvFunc)(char *ap_Ip, int ar_Port, int a_Command, int a_Option));

	int Send(char *ap_Ip, int a_Port, int a_Command, int a_Option);
	int Send(unsigned long a_Ip, int a_Port, int a_Command, int a_Option);
	int Send(char *ap_Ip, int a_Port, ES_PACKET *ap_Packet);
	int	Recv(char *ap_Ip, int &ar_Port, char *ap_Buff, int &ar_Len);
};


#endif

⌨️ 快捷键说明

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