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

📄 eroomfiletran.h

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

#include	"WiseNet.h"



#define		FT_CMD_RQSEND			0		// 拳老傈价阑 夸没窃
#define		FT_CMD_RQSENDOK			1		// 拳老傈价阑 倾遏窃
#define		FT_CMD_DATA				2		// 拳老阑 傈价窃
#define		FT_CMD_CANCEL			3		// 拳老 傈价阑 秒家窃 肚绰 弥家甫 夸没窃	
											// 荐脚螟 ==> 傈价螟  : 秒家夸没
											// 价脚螟 ==> 荐脚螟  : 秒家
#define		FT_CMD_ACK				4		// ACK
#define		FT_CMD_RESEND			5		// 犁傈价阑 夸没窃 
#define		FT_CMD_ERROR			6		// 俊矾 

#define		FT_RESEND_MAX			3		// 犁傈价 夸没 冉荐 
#define		FT_TIME_OUT				5000	// 1雀 鸥烙酒眶 矫埃(固府檬)

#define		FT_PACKETDATA_SIZE		1200

struct __FT_RQSEND   {
	int		m_FSize;					// FT_RQSEND俊辑父 荤侩
	char	m_SFname[256];				// 价脚螟 拳老疙(例措 PATH)
	char	m_RFname[256];				// 荐脚螟 拳老疙 ==> 固瘤沥矫 价脚螟(拳老疙父 悼老)苞 悼老 
};
typedef struct __FT_RQSEND  FT_RQSEND;

struct __FT_RQSENDOK   {
	int		m_Channel;					// 盲澄锅龋
};
typedef struct __FT_RQSENDOK  FT_RQSENDOK;

// 曼绊 : 盲澄篮 荐脚螟俊辑父 瘤沥窍绊 价脚螟篮 荐脚螟俊辑 瘤沥茄吧 靖

#define		FT_DATA_SIZE		(FT_PACKETDATA_SIZE - (sizeof(int) + sizeof(int)))

struct __FT_DATA   {
	int		m_Channel;
	int		m_Seq;
	char	m_Data[FT_DATA_SIZE];
};
typedef struct __FT_DATA  FT_DATA;


struct __FT_CANCEL   {
	int		m_Channel;
};
typedef struct __FT_CANCEL  FT_CANCEL;

struct __FT_ACK   {
	int		m_Channel;
	int		m_Seq;
};
typedef struct __FT_ACK		FT_ACK;
typedef struct __FT_RESEND  FT_RESEND;


struct __FT_ERROR   {
	int		m_Channel;
	int		m_ErrCode;
};
typedef struct __FT_ERROR	FT_ERROR;

// ERROR CODE
#define		FT_ERR_TIMEOUT			1		// 傈价矫埃 版苞 
#define		FT_ERR_NOFNAME			2		// 傈价螟拳老捞 绝澜
#define		FT_ERR_CANNOTFNAME		3		// 荐脚螟 拳老疙 积己俊矾
#define		FT_ERR_DISKFULL			4		// 荐脚螟 单捞鸥 康开捞 何练窃
#define		FT_ERR_ETC				5		// 扁鸥 俊矾

struct __FT_PACKET {
	unsigned char	m_Code[2];		// Identifier ==> 2BYTE CHECK 
	unsigned short  m_Cmd;			// USER COMMAND	(0 ~ ) 
	unsigned short	m_Len;			// Data Len;
	unsigned char	m_Data[FT_PACKETDATA_SIZE];
};
typedef struct __FT_PACKET		FT_PACKET;

#define	FT_PACKETHEAD_SIZE		(sizeof(FT_PACKET) - FT_PACKETDATA_SIZE)


class CEroomFileTran : public CWiseNet
{

public:
	int				m_Version;
	unsigned char	m_Code[4];		// ID眉农巩磊 
	
public:
	int				m_Seq;
	int				m_PNum;

	CEroomFileTran(int a_QueueFlag=WN_QUEUE_USE);					
	~CEroomFileTran();

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

	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)(char *ap_Ip, int ar_Port, char *ap_Buff, int w_Len), int a_WaitTime = WN_NOWAIT);

	virtual int Send(char *ap_Ip, int a_Port, char *ap_Buff, int a_Len, char *ap_Buff2=NULL, int a_Len2=0);
	virtual 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 + -