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

📄 iocppacketheader.h

📁 iocp vc例子,自己是学DELPHI
💻 H
字号:
// IocpPacketHeader.h: interface for the CIocpPacketHeader class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_IOCPPACKETHEADER_H__4721B39C_D056_44B3_A27B_C7063A67BA94__INCLUDED_)
#define AFX_IOCPPACKETHEADER_H__4721B39C_D056_44B3_A27B_C7063A67BA94__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

//消息标识定义
#define PACKET_LOTAG 'Z'
#define PACKET_HITAG 'h'

//版本定义
enum PACKET_VERSION
{
	PACKET_VERSION_00=0
};
#define PACKET_VERSION_CURRENT PACKET_VERSION_00	//当前版本

class AFX_EXT_CLASS CMemFileEx : public CMemFile
{
public:
	CMemFileEx() {}
	virtual ~CMemFileEx() {}
	
public:
	void  GrowBuf(DWORD dwNewLen) {GrowFile(dwNewLen);SetLength(dwNewLen);}
	BYTE* GetDataBuf()    {return (BYTE*)m_lpBuffer;}
	DWORD GetDataBufLen() {return m_nPosition;}
};

class AFX_EXT_CLASS CIocpPacketHeader : public CObject  
{
	friend class CIocpPacket;
public:
	DECLARE_SERIAL(CIocpPacketHeader)
	CIocpPacketHeader();
	virtual ~CIocpPacketHeader();
private:
	WORD m_wTag;		//ZNet标识
	WORD m_nVer;		//版本号
public:
	GUID m_gdHeader;	//命令的唯一标识
	UINT m_nCmd;			// command
	UINT m_wParam;			// parameter 1
	UINT m_lParam;			// parameter 2	
	int	 m_nErrCode;		// error code
	UINT m_nDataLen;		// data length
	UINT m_nReserved;		// Reserved

	//序列化控制
public:
	void Serialize(CArchive& ar);
	void operator=(const CIocpPacketHeader& srcHeader);
	void ResetHeader();

	//文件控制
private:
	CStringArray m_aFullName;	//文件全路径名称数组
	CStringArray m_aFileName;	//文件名称数组
	CIntArray m_aFileLength;	//文件长度数组
private:
	int AddPacketFile(CString strFullName);	//添加文件
	int RemovePacketFile(CString strFullName);	//删除文件
	int DeleteAllFile(WORD wType, BOOL bDeleteAfterSend);	//删除所有文件
	BOOL GetPacketFile(int nIndex, CString& strFullName);	//接收端获取文件
};

#endif // !defined(AFX_IOCPPACKETHEADER_H__4721B39C_D056_44B3_A27B_C7063A67BA94__INCLUDED_)

⌨️ 快捷键说明

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