📄 g_netpacket.h
字号:
// g_NetPacket.h: interface for the CG_NetPacket class.
#ifndef __CG_NET_PACKET_H__
#define __CG_NET_PACKET_H__
#include "g_cmdpacket.h"
const int NET_PACKET_HEAD_SIZE = 5;
const int MAX_NET_PACKET_SIZE = MAX_CMD_PACKET_SIZE + NET_PACKET_HEAD_SIZE;
/*
net packet head struct
{
4 bit 0101
1 bit reserved
1 bit flag system
1 bit flag compress
1 bit flag encrypt
16 bit seq
16 bit data size
}
*/
const char PROTOCOL_FLAG = 5; // 0101
const char FLAG_ENCRYPT = 1;
const char FLAG_COMPRESS = 2;
const char FLAG_SYSTEM = 4;
const short SYS_PACKET_SET_SEED = 1;
const short SYS_PACKET_KEEP_ALIVE = 2;
const short SYS_PACKET_ALIVE_ACK = 3;
const unsigned short MAX_NET_PACKET_SEQ = 65000;
class CG_NetPacket : public CG_CmdPacket
{
public:
CG_NetPacket();
virtual ~CG_NetPacket();
void AddCmdPacket(CG_CmdPacket *packet);
void AttachCmdPacket(CG_CmdPacket *packet);
bool Uncompress();
bool Compress();
bool IsCompress();
bool IsEncrypt();
bool IsSysPacket();
void SetSysPacket();
void Decrypt(char *seed,int len);
void Encrypt(char *seed,int len);
void SetSeq(unsigned short seq);
int GetHeadSize();
int GetTotalSize();
int BeginRead(char *p,int len);
char m_buffer[MAX_NET_PACKET_SIZE];
int m_totalSize;
char *m_pktFlag;
unsigned short *m_pktSeq;
unsigned short *m_pktDataSize;
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -