当前位置:   article > 正文

QT使用UDP方式传输文件的关键代码_qt使用udp如何将数据打包

qt使用udp如何将数据打包

QT中使用UDP传输的核心代码:

  1. void Sender::sendData()
  2. {
  3. if (!file.atEnd()) {
  4. QByteArray line = file.read(8000);
  5. udpSocket->writeDatagram( line , QHostAddress("192.168.0.175"),7755);
  6. i++;
  7. qDebug() << "send over!" << i << line.size();
  8. }
  9. }
  10. void Sender::initSocket()
  11. {
  12. udpSocket = new QUdpSocket(this);
  13. udpSocket->bind(QHostAddress::LocalHost, 7754);
  14. connect(udpSocket, SIGNAL(readyRead()),
  15. this, SLOT(readPendingDatagrams()));
  16. }
  17. void Sender::readPendingDatagrams()
  18. {
  19. //receive
  20. while (udpSocket->hasPendingDatagrams()) {
  21. QByteArray datagram;
  22. datagram.resize(udpSocket->pendingDatagramSize());
  23. QHostAddress sender;
  24. quint16 senderPort;
  25. udpSocket->readDatagram(datagram.data(), datagram.size(),
  26. &sender, &senderPort);
  27. qDebug() << datagram;
  28. if (datagram == "1")
  29. {
  30. qDebug() <<"send ok!";
  31. sendData();
  32. }
  33. }
  34. }
  35. void Sender::on_pushButton_clicked()
  36. {
  37. fil
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/305233
推荐阅读
相关标签
  

闽ICP备14008679号