• 3386阅读
  • 0回复

网络数据接收问题 [复制链接]

上一主题 下一主题
离线zxwmail
 

只看楼主 倒序阅读 楼主  发表于: 2011-06-19
我用labwindow CVI做了个发送float数组的程序,用delphi下的indy10控件可以正常接收。
用QT写的程序数组第一个返回值总是0。我认为数据已被接收,就是转换的问题
google搜了下,也没找到合适的解决方法。请大家看看,指点下,谢谢。

  1. void Widget::processPendingDatagrams()
  2. {
  3.       qint16 packetsize;
  4.       while (udpSocket->hasPendingDatagrams()) {
  5.               QByteArray ba;
  6.               packetsize=udpSocket->pendingDatagramSize();
  7.               ba.resize(packetsize);
  8.               udpSocket->readDatagram(ba.data(), ba.size());
  9.               if (packetsize!=udpsize)
  10.              {
  11.                      return;
  12.               }      
  13.               // bool ok;
  14.               // ba = QByteArray::number(ba.toLongLong(&ok,16),2);      
  15.               QDataStream  datin(&ba,QIODevice::ReadOnly);
  16.               float firstdat;
  17.               datin>>firstdat;    //赋值第一个浮点数
  18.               if (!datin.status())
  19.               {
  20.                       qDebug()<<"ok" ;
  21.                }
  22.                 qDebug()<<firstdat;
  23.        }
  24. }


快速回复
限100 字节
 
上一个 下一个