• 3346阅读
  • 0回复

Qt网络编程,UDP协议 [复制链接]

上一主题 下一主题
离线yuye2133
 
只看楼主 倒序阅读 楼主  发表于: 2013-05-23
关键词: QtUDP网络通信
我写了一个UDP协议的网络通信,代码如下:
  1. QUdpSocket  udpRecv = new QUdpSocket(this);
  2.     udpRecv->bind(12346,QUdpSocket::ShareAddress);
  3.     connect(udpRecv,SIGNAL(readyRead()),this,SLOT(ReadMessage()));
然后再ReadMessage()函数中接收数据,但是每次我都会收到三个一样的数据,请问这是怎么回事啊
  1. void MainWindow::ReadMessage()
  2. {
  3.     qDebug() << "yes";
  4.     while(udpRecv->hasPendingDatagrams())
  5.     {
  6.         qDebug() << "yes";
  7.         QByteArray datagram;
  8.         QDataStream in(&datagram,QIODevice::ReadOnly);
  9.         datagram.resize(udpRecv->pendingDatagramSize());
  10.         udpRecv->readDatagram(datagram.data(),datagram.size());
  11.         in >> size;
  12.         in >> RxMessage;
  13.         if(!RxMessage.isEmpty())
  14.         {
  15.             qDebug() << RxMessage;
  16.             ui->textBrowser->append(RxMessage);
  17.         }
  18.     }
  19. }
求大神指导,谢谢

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