QT UDP传结构体数据

发送端:

头文件中建立结构体state:

#pragma pack(1)
struct state{
    int order;
    int speed;
    double longitude;
    double latitude;
};

#pragma pack()

实现cpp文件:

state data;
data.order=1;
data.speed=50;
data.longitude=120.34;
data.latitude=36.89;
udpSocket->writeDatagram((char*)&data,sizeof(data),QQHostAddress::Broadcast,port);

接收端

在头文件中建立结构体,与发送端一样。

接收cpp文件:

state datagram;
udpSocket->readDatagram((char*)&datagram,sizeof(datagram));

然后就可以读取结构体数据,像这样:

int Order=datagram.order;
int Speed=datagram.speed;
double Longitude=datagram.longitude;
double Latitude=datagram.latitude;

你可能感兴趣的:(QT)