我有一个类对象CPerson
CPerson
{
CString m_strName;
long lMark[i];
int iAge;
}
其中lMark是个变长数组,现在有多个客户端向服务器传送这种类结构,我想一次传送一个这样的结构,CPerson cPerson;
pSocket->Send(&cPerson,sizeof(cPerson));
那我在服务器进行接受的时候,如何实现按CPerson进行接受
谢谢!
CPerson
{
CString m_strName;
long lMark[i];
int iAge;
}
其中lMark是个变长数组,现在有多个客户端向服务器传送这种类结构,我想一次传送一个这样的结构,CPerson cPerson;
pSocket->Send(&cPerson,sizeof(cPerson));
那我在服务器进行接受的时候,如何实现按CPerson进行接受
谢谢!
{
INT iNameLen;
INT iMarkLen;
int iAge;
}
发送方在构建数据包的时候分配一块内存,大小是sizeof(CPerson)+iNameLen+iMarkLen,头部强制转换成CPerson指针,设定好这几个值后再把Name,Mark依次连续memcpy在指针+sizeof(CPerson)的后面,最后再发送就好了,接收端收到后,只用分析一下头部就应该知道怎么处理了.Name这些我认为用char型数组更好