最近做的项目,因为数据类型不唯一,需要用结构体来传递数据,可以Qt下对于,自定义结构不提供特定方法,这就需要进行一些简单的转化,下面是我就结构体如何传输的方法。
struct PersonData{
int use_id;
char name[10];
int passwd;
int passwds;
int money;
int flag;
};
这是结构体定义。下面是客户端发送给服务器。
PersonData *p = new PersonData;
QByteArray data;
data.resize(sizeof(struct PersonData));
memcpy(data.data(),p,sizeof(struct PersonData));
socket->write(data);
服务器那边这样结构就好了。
s = (QTcpSocket *)sender();
QByteArray data = s->readAll();
data.resize(sizeof(struct PersonData));
memcpy(p,data.data(),sizeof(struct PersonData));
当然,这里面有Qt下C/S框架,可以不去注意它。