|
1Qter豆
void Dialog::processPendingDatagrams()
{
QByteArray datagramRecv;
QHostAddress sendHost;
quint16 sendPort = 0;
do
{
datagramRecv.resize(udpSocketTer.pendingDatagramSize());
udpSocketTer.readDatagram(datagramRecv.data(),datagramRecv.size(), &sendHost, &sendPort);
}while(udpSocketTer.hasPendingDatagrams());
QString brr(datagramRecv);
qDebug()<<"1: "<<brr;
QDataStream in(&datagramRecv, QIODevice::ReadWrite);
in.setVersion(QDataStream:t_4_8);
QString arr;
in>>arr;
qDebug()<<"2: "<<arr;
// ui->tEditRecvContent->setText(arr);
}
上面程序中,打印两次QString类内容,一次由 QString brr(datagramRecv) 直接构造生成,另一次有QDataStream类输出,为什么第一次打印没有内容,第二次正确输出收到的报文?
|
|