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

📄 packed.h

📁 Agent in c++ for DragonRaja
💻 H
字号:
#ifndef PACKED_H
#define PACKED_H

#include "stdafx.h"
#include "define.h"
//#include "protocol.h"


#define MM_MAX_PACKET_SIZE	5120

#pragma pack(push, 1)


class CPackedMsg
{
	BYTE				m_bID;
	DWORD				m_dwMsgLength;
	DWORD				m_dwUserNum;
	char				m_szBody[MM_MAX_PACKET_SIZE];

	DWORD				m_dwConnectionIndex;
	DWORD				m_dwAgentServerIndex;
	bool				m_bFlag;

public:
	void inline		SetMsg(char* msg,DWORD len) 
	{
		if (m_bFlag)
			return;

		m_bFlag = true;
		m_dwMsgLength = len; 
		memcpy(m_szBody,msg,len);
	}
	void inline Release() {m_dwMsgLength = 0;m_dwUserNum = 0;m_bFlag = false;}
	void inline AddUser(DWORD dwUserID)
	{
		*((DWORD*)(m_szBody + m_dwMsgLength) + m_dwUserNum) = dwUserID;
		m_dwUserNum++;
	}
	DWORD	inline	GetPacketSize() {return 1 + 4 + 4 + m_dwMsgLength + m_dwUserNum*4;}
	char*			GetMsg() {return m_szBody;}
	DWORD	inline	GetMsgLength() {return m_dwMsgLength;}
	DWORD	inline 	GetUserNum() {return m_dwUserNum;}
	DWORD	inline 	GetUser(DWORD index) {return *((DWORD*)(m_szBody + m_dwMsgLength) + index);}
	void	inline	SetConnectionIndex(DWORD index) {m_dwConnectionIndex = index;}
	DWORD	inline	GetConnectionIndex() {return m_dwConnectionIndex;}
	void	inline	SetAgentServerIndex(DWORD index) {m_dwAgentServerIndex = index;}
	DWORD	inline	GetAgentServerIndex() {return m_dwAgentServerIndex;}
	
	
	
public:
	CPackedMsg()
	{
		m_bFlag = false;
		m_bID = 1;
		m_dwMsgLength = 0;	
		m_dwUserNum = 0;
		m_dwConnectionIndex = 0;
	}
};

#pragma pack(pop)

#endif

⌨️ 快捷键说明

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