我写了一个UDP协议的
网络通信,代码如下:
- QUdpSocket udpRecv = new QUdpSocket(this);
- udpRecv->bind(12346,QUdpSocket::ShareAddress);
- connect(udpRecv,SIGNAL(readyRead()),this,SLOT(ReadMessage()));
然后再ReadMessage()函数中接收
数据,但是每次我都会收到三个一样的数据,请问这是怎么回事啊
- void MainWindow::ReadMessage()
- {
- qDebug() << "yes";
- while(udpRecv->hasPendingDatagrams())
- {
- qDebug() << "yes";
- QByteArray datagram;
- QDataStream in(&datagram,QIODevice::ReadOnly);
- datagram.resize(udpRecv->pendingDatagramSize());
- udpRecv->readDatagram(datagram.data(),datagram.size());
- in >> size;
- in >> RxMessage;
- if(!RxMessage.isEmpty())
- {
- qDebug() << RxMessage;
- ui->textBrowser->append(RxMessage);
- }
- }
- }
求大神指导,谢谢