64,648
社区成员
发帖
与我相关
我的任务
分享
struct MsgHeader
{
int msglength; //包的总大小
int16 msgType; //包类型
MsgHeader()
{
SetLength(sizeof(msglength) + sizeof(msgType));
}
void SetLength (int len) { msglength = len;}
.......
...
};
struct Packet:MsgHeader
{
char m_buf[MESSAGE_PACKET_MAX_SIZE];
UINT m_pos;
Packet()
{
memset(m_buf,0,sizeof(m_buf));
m_pos = 0;
SetLength(sizeof(MsgHeader) + sizeof(msgType) + sizeof(m_pos));
}
....
void Begin()
{
m_pos = 0;
}
......
PushInt()...
PushString().....
};
Packet msg;
msg.Begin();
msg.SetType(9102);
msg.PushInt8('a');
msg.PushInt8('b');
msg.PushInt8('c');
msg.PushInt8('d');
msg.PushInt8('e');
msg.PushInt8('f');
int result = send(client_sock,(const char*)&msg,sizeof(Packet),0);