Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. QNativeSocketEngine::bind() was not called in QAbstractSocket::UnconnectedState

QNativeSocketEngine::bind() was not called in QAbstractSocket::UnconnectedState

Scheduled Pinned Locked Moved Solved General and Desktop
udpqt5.15.2
3 Posts 2 Posters 1.3k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • T Offline
    T Offline
    timob256
    wrote on 27 Jul 2023, 15:19 last edited by
    #1

    I can't understand what the error is, or rather how to solve it.

    at the start, run

    void MainWindow::on_pB_start_clicked()
    {
        // тут комутирую сигнал, если
        // не по локальной сети и не на мой порт , то
        // конетками не соединяю отправку сигнала и мой график
        // если да то да
    
        str_ip = ui->lE_enover_id->text();
        str_port = ui->lE_enover_port->text();
    
        //то отправляем по локальному хосту
        if ( str_ip.isEmpty()  == true )
        {
            int int_port = str_port.toInt(); // превращаем в инты
            m_pudp->bind(QHostAddress::LocalHost, int_port);
        }
        else
        {
            int int_port = str_port.toInt(); // превращаем в инты
            m_pudp->bind(QHostAddress(str_ip), int_port);
        }
    
        // тут запуск секундомера
        // и при его сробатывании отправляется сообщение  числом в нутри
        timer_start->start(500); // 0.5 секунд
    
        ui->pB_start->setEnabled(false); // блокируем чтоб заново связ не тянули
    }
    

    потом отправка сообщения

    // тут отправляем сообщение
    void MainWindow::onTimeoutStart()
    {
    
        str_ip = ui->lE_enover_id->text();
        str_port = ui->lE_enover_port->text();
        int_port = str_port.toInt(); // превращаем в инты
    
         // сообщение
        // состоит из двух чисел первое Х второе У
        if(grad >=360 )
        {
            grad = 0;
        }
        data_x = 10 * sin(grad);
        grad = grad + 5;
        if(data_y >= 100)
            data_y = 0;
        data_y = data_y + 1;
    
        //отправка
        QByteArray baDatagram_out;
        QDataStream out(&baDatagram_out, QIODevice::WriteOnly);
        out.setVersion(QDataStream::Qt_5_3);
        out << data_x;
        out << data_y;
        if(ui->lE_enover_id->text().isEmpty() == true)
        {
            m_pudp->writeDatagram(baDatagram_out, QHostAddress::LocalHost, int_port);
        }
        else
        {
            m_pudp->writeDatagram(baDatagram_out, QHostAddress(str_ip),  int_port);
        }
    }
    

    here the reception is a separate socket :

    // тут принимаем сообщение ( постоянно в течении 0ю5 сек)
    void MainWindow::onTimeoutPlot()
    {
    
        //! если айпишник сменился то закрываем связь и сновоа делаем соединение
        // первичный запуск
        if(ip_me_d == true)
        {
            // сетевые настройки (на приём)
            str_ip_me  =  ui->label_u_ip->text();
            str_port_me = ui->lE_u_port->text();
    
            int_port_me = str_port_me.toInt(); // превращаем в инты
    
            //то отправляем по локальному хосту
            if ( str_ip_me.isEmpty()  == true )
            {
                 m_pudp_in->bind(QHostAddress::LocalHost, int_port_me);
            }
            else
            {
                 m_pudp_in->bind(QHostAddress(str_ip_me), int_port_me);
            }
            // имена для проверки
            str_ip_me_old = str_ip_me;
            str_port_me_old =str_port_me;
            //делаем конект
            connect(m_pudp_in, SIGNAL(readyRead()), SLOT(slotProcessDatagrams()));
            // датчик
            ip_me_d = false;
        }
        // тут сравниваем строку если сторока отличается от строки то биндимся заного на новых правах
        if(ip_me_d == false)
        {
            // проверка на именения
            str_ip_me  =  ui->label_u_ip->text();
            str_port_me = ui->lE_u_port->text();
    
            // если строки равны, x должен вернуть 0
            int ip_me_verification = QString::compare(str_ip_me, str_ip_me_old, Qt::CaseInsensitive);
            if(ip_me_verification != 0)
            {
                new_m_pudp = true; // айпишник сменился
            }
            int port_me_verification = QString::compare(str_port_me, str_port_me_old, Qt::CaseInsensitive);
            if(port_me_verification != 0)
            {
                new_m_pudp = true; // айпишник сменился
            }
            if(new_m_pudp == true)
            {
                // закрываем старое соединение
                m_pudp_in->close();
                // открываем новое соединение
                // сетевые настройки (на приём)
                str_ip_me  =  ui->label_u_ip->text();
                str_port_me = ui->lE_u_port->text();
    
                int_port_me = str_port.toInt(); // превращаем в инты
    
                //то отправляем по локальному хосту
                if ( str_ip_me.isEmpty()  == true )
                {
                     m_pudp_in->bind(QHostAddress::LocalHost, int_port_me);
                }
                else
                {
                     m_pudp_in->bind(QHostAddress(str_ip_me), int_port_me);
                }
                // имена для проверки
                str_ip_me_old = str_ip_me;
                str_port_me_old =str_port_me;
                // датчики настраиваем
                new_m_pudp = false;
      
    
              ip_me_d = false;
                //делаем конект
                connect(m_pudp_in, SIGNAL(readyRead()), SLOT(slotProcessDatagrams()));
    
            }
        }
    }
    
    void MainWindow::slotProcessDatagrams()
    {
        QByteArray baDatagram_in;
        do {
            baDatagram_in.resize(m_pudp_in->pendingDatagramSize());
            m_pudp_in->readDatagram(baDatagram_in.data(), baDatagram_in.size());
        } while(m_pudp_in->hasPendingDatagrams());
    
        QDataStream in(&baDatagram_in, QIODevice::ReadOnly);
        in.setVersion(QDataStream::Qt_5_3);
        QString str_priem;
        in >>  str_priem;
    
        qDebug() << "str_priem: " << str_priem;
        str_priem.clear();
    
    }
    

    But why the error and where it comes from ?

    введите сюда описание изображения

    C T 2 Replies Last reply 27 Jul 2023, 15:56
    0
    • T timob256
      27 Jul 2023, 15:19

      I can't understand what the error is, or rather how to solve it.

      at the start, run

      void MainWindow::on_pB_start_clicked()
      {
          // тут комутирую сигнал, если
          // не по локальной сети и не на мой порт , то
          // конетками не соединяю отправку сигнала и мой график
          // если да то да
      
          str_ip = ui->lE_enover_id->text();
          str_port = ui->lE_enover_port->text();
      
          //то отправляем по локальному хосту
          if ( str_ip.isEmpty()  == true )
          {
              int int_port = str_port.toInt(); // превращаем в инты
              m_pudp->bind(QHostAddress::LocalHost, int_port);
          }
          else
          {
              int int_port = str_port.toInt(); // превращаем в инты
              m_pudp->bind(QHostAddress(str_ip), int_port);
          }
      
          // тут запуск секундомера
          // и при его сробатывании отправляется сообщение  числом в нутри
          timer_start->start(500); // 0.5 секунд
      
          ui->pB_start->setEnabled(false); // блокируем чтоб заново связ не тянули
      }
      

      потом отправка сообщения

      // тут отправляем сообщение
      void MainWindow::onTimeoutStart()
      {
      
          str_ip = ui->lE_enover_id->text();
          str_port = ui->lE_enover_port->text();
          int_port = str_port.toInt(); // превращаем в инты
      
           // сообщение
          // состоит из двух чисел первое Х второе У
          if(grad >=360 )
          {
              grad = 0;
          }
          data_x = 10 * sin(grad);
          grad = grad + 5;
          if(data_y >= 100)
              data_y = 0;
          data_y = data_y + 1;
      
          //отправка
          QByteArray baDatagram_out;
          QDataStream out(&baDatagram_out, QIODevice::WriteOnly);
          out.setVersion(QDataStream::Qt_5_3);
          out << data_x;
          out << data_y;
          if(ui->lE_enover_id->text().isEmpty() == true)
          {
              m_pudp->writeDatagram(baDatagram_out, QHostAddress::LocalHost, int_port);
          }
          else
          {
              m_pudp->writeDatagram(baDatagram_out, QHostAddress(str_ip),  int_port);
          }
      }
      

      here the reception is a separate socket :

      // тут принимаем сообщение ( постоянно в течении 0ю5 сек)
      void MainWindow::onTimeoutPlot()
      {
      
          //! если айпишник сменился то закрываем связь и сновоа делаем соединение
          // первичный запуск
          if(ip_me_d == true)
          {
              // сетевые настройки (на приём)
              str_ip_me  =  ui->label_u_ip->text();
              str_port_me = ui->lE_u_port->text();
      
              int_port_me = str_port_me.toInt(); // превращаем в инты
      
              //то отправляем по локальному хосту
              if ( str_ip_me.isEmpty()  == true )
              {
                   m_pudp_in->bind(QHostAddress::LocalHost, int_port_me);
              }
              else
              {
                   m_pudp_in->bind(QHostAddress(str_ip_me), int_port_me);
              }
              // имена для проверки
              str_ip_me_old = str_ip_me;
              str_port_me_old =str_port_me;
              //делаем конект
              connect(m_pudp_in, SIGNAL(readyRead()), SLOT(slotProcessDatagrams()));
              // датчик
              ip_me_d = false;
          }
          // тут сравниваем строку если сторока отличается от строки то биндимся заного на новых правах
          if(ip_me_d == false)
          {
              // проверка на именения
              str_ip_me  =  ui->label_u_ip->text();
              str_port_me = ui->lE_u_port->text();
      
              // если строки равны, x должен вернуть 0
              int ip_me_verification = QString::compare(str_ip_me, str_ip_me_old, Qt::CaseInsensitive);
              if(ip_me_verification != 0)
              {
                  new_m_pudp = true; // айпишник сменился
              }
              int port_me_verification = QString::compare(str_port_me, str_port_me_old, Qt::CaseInsensitive);
              if(port_me_verification != 0)
              {
                  new_m_pudp = true; // айпишник сменился
              }
              if(new_m_pudp == true)
              {
                  // закрываем старое соединение
                  m_pudp_in->close();
                  // открываем новое соединение
                  // сетевые настройки (на приём)
                  str_ip_me  =  ui->label_u_ip->text();
                  str_port_me = ui->lE_u_port->text();
      
                  int_port_me = str_port.toInt(); // превращаем в инты
      
                  //то отправляем по локальному хосту
                  if ( str_ip_me.isEmpty()  == true )
                  {
                       m_pudp_in->bind(QHostAddress::LocalHost, int_port_me);
                  }
                  else
                  {
                       m_pudp_in->bind(QHostAddress(str_ip_me), int_port_me);
                  }
                  // имена для проверки
                  str_ip_me_old = str_ip_me;
                  str_port_me_old =str_port_me;
                  // датчики настраиваем
                  new_m_pudp = false;
        
      
                ip_me_d = false;
                  //делаем конект
                  connect(m_pudp_in, SIGNAL(readyRead()), SLOT(slotProcessDatagrams()));
      
              }
          }
      }
      
      void MainWindow::slotProcessDatagrams()
      {
          QByteArray baDatagram_in;
          do {
              baDatagram_in.resize(m_pudp_in->pendingDatagramSize());
              m_pudp_in->readDatagram(baDatagram_in.data(), baDatagram_in.size());
          } while(m_pudp_in->hasPendingDatagrams());
      
          QDataStream in(&baDatagram_in, QIODevice::ReadOnly);
          in.setVersion(QDataStream::Qt_5_3);
          QString str_priem;
          in >>  str_priem;
      
          qDebug() << "str_priem: " << str_priem;
          str_priem.clear();
      
      }
      

      But why the error and where it comes from ?

      введите сюда описание изображения

      T Offline
      T Offline
      timob256
      wrote on 27 Jul 2023, 16:14 last edited by
      #3

      @timob256

      Perhaps it was necessary to connect
      #include <QtNetwork>

      previously, the header was without

      #include <QtNetwork>
      

      now it looks like this

      #include <QMainWindow>
      #include "qcustomplot.h"
      #include <QtNetwork>
      #include <QHostInfo>
      #include <QNetworkInterface>
      #include <QUdpSocket>
      #include <QAbstractSocket>
      #include <QHostAddress>
      #include <QTime>
      #include <QTimer>
      #include <QVector>
      
      #include <QtMath>
      

      However, he does not transmit much data yet ж_ж

      1 Reply Last reply
      0
      • T timob256
        27 Jul 2023, 15:19

        I can't understand what the error is, or rather how to solve it.

        at the start, run

        void MainWindow::on_pB_start_clicked()
        {
            // тут комутирую сигнал, если
            // не по локальной сети и не на мой порт , то
            // конетками не соединяю отправку сигнала и мой график
            // если да то да
        
            str_ip = ui->lE_enover_id->text();
            str_port = ui->lE_enover_port->text();
        
            //то отправляем по локальному хосту
            if ( str_ip.isEmpty()  == true )
            {
                int int_port = str_port.toInt(); // превращаем в инты
                m_pudp->bind(QHostAddress::LocalHost, int_port);
            }
            else
            {
                int int_port = str_port.toInt(); // превращаем в инты
                m_pudp->bind(QHostAddress(str_ip), int_port);
            }
        
            // тут запуск секундомера
            // и при его сробатывании отправляется сообщение  числом в нутри
            timer_start->start(500); // 0.5 секунд
        
            ui->pB_start->setEnabled(false); // блокируем чтоб заново связ не тянули
        }
        

        потом отправка сообщения

        // тут отправляем сообщение
        void MainWindow::onTimeoutStart()
        {
        
            str_ip = ui->lE_enover_id->text();
            str_port = ui->lE_enover_port->text();
            int_port = str_port.toInt(); // превращаем в инты
        
             // сообщение
            // состоит из двух чисел первое Х второе У
            if(grad >=360 )
            {
                grad = 0;
            }
            data_x = 10 * sin(grad);
            grad = grad + 5;
            if(data_y >= 100)
                data_y = 0;
            data_y = data_y + 1;
        
            //отправка
            QByteArray baDatagram_out;
            QDataStream out(&baDatagram_out, QIODevice::WriteOnly);
            out.setVersion(QDataStream::Qt_5_3);
            out << data_x;
            out << data_y;
            if(ui->lE_enover_id->text().isEmpty() == true)
            {
                m_pudp->writeDatagram(baDatagram_out, QHostAddress::LocalHost, int_port);
            }
            else
            {
                m_pudp->writeDatagram(baDatagram_out, QHostAddress(str_ip),  int_port);
            }
        }
        

        here the reception is a separate socket :

        // тут принимаем сообщение ( постоянно в течении 0ю5 сек)
        void MainWindow::onTimeoutPlot()
        {
        
            //! если айпишник сменился то закрываем связь и сновоа делаем соединение
            // первичный запуск
            if(ip_me_d == true)
            {
                // сетевые настройки (на приём)
                str_ip_me  =  ui->label_u_ip->text();
                str_port_me = ui->lE_u_port->text();
        
                int_port_me = str_port_me.toInt(); // превращаем в инты
        
                //то отправляем по локальному хосту
                if ( str_ip_me.isEmpty()  == true )
                {
                     m_pudp_in->bind(QHostAddress::LocalHost, int_port_me);
                }
                else
                {
                     m_pudp_in->bind(QHostAddress(str_ip_me), int_port_me);
                }
                // имена для проверки
                str_ip_me_old = str_ip_me;
                str_port_me_old =str_port_me;
                //делаем конект
                connect(m_pudp_in, SIGNAL(readyRead()), SLOT(slotProcessDatagrams()));
                // датчик
                ip_me_d = false;
            }
            // тут сравниваем строку если сторока отличается от строки то биндимся заного на новых правах
            if(ip_me_d == false)
            {
                // проверка на именения
                str_ip_me  =  ui->label_u_ip->text();
                str_port_me = ui->lE_u_port->text();
        
                // если строки равны, x должен вернуть 0
                int ip_me_verification = QString::compare(str_ip_me, str_ip_me_old, Qt::CaseInsensitive);
                if(ip_me_verification != 0)
                {
                    new_m_pudp = true; // айпишник сменился
                }
                int port_me_verification = QString::compare(str_port_me, str_port_me_old, Qt::CaseInsensitive);
                if(port_me_verification != 0)
                {
                    new_m_pudp = true; // айпишник сменился
                }
                if(new_m_pudp == true)
                {
                    // закрываем старое соединение
                    m_pudp_in->close();
                    // открываем новое соединение
                    // сетевые настройки (на приём)
                    str_ip_me  =  ui->label_u_ip->text();
                    str_port_me = ui->lE_u_port->text();
        
                    int_port_me = str_port.toInt(); // превращаем в инты
        
                    //то отправляем по локальному хосту
                    if ( str_ip_me.isEmpty()  == true )
                    {
                         m_pudp_in->bind(QHostAddress::LocalHost, int_port_me);
                    }
                    else
                    {
                         m_pudp_in->bind(QHostAddress(str_ip_me), int_port_me);
                    }
                    // имена для проверки
                    str_ip_me_old = str_ip_me;
                    str_port_me_old =str_port_me;
                    // датчики настраиваем
                    new_m_pudp = false;
          
        
                  ip_me_d = false;
                    //делаем конект
                    connect(m_pudp_in, SIGNAL(readyRead()), SLOT(slotProcessDatagrams()));
        
                }
            }
        }
        
        void MainWindow::slotProcessDatagrams()
        {
            QByteArray baDatagram_in;
            do {
                baDatagram_in.resize(m_pudp_in->pendingDatagramSize());
                m_pudp_in->readDatagram(baDatagram_in.data(), baDatagram_in.size());
            } while(m_pudp_in->hasPendingDatagrams());
        
            QDataStream in(&baDatagram_in, QIODevice::ReadOnly);
            in.setVersion(QDataStream::Qt_5_3);
            QString str_priem;
            in >>  str_priem;
        
            qDebug() << "str_priem: " << str_priem;
            str_priem.clear();
        
        }
        

        But why the error and where it comes from ?

        введите сюда описание изображения

        C Offline
        C Offline
        Christian Ehrlicher
        Lifetime Qt Champion
        wrote on 27 Jul 2023, 15:56 last edited by
        #2

        @timob256 said in QNativeSocketEngine::bind() was not called in QAbstractSocket::UnconnectedState:

        But why the error and where it comes from ?

        Since your function is named onTimeoutPlot() I would guess the function is called more than once so bind is also called more than once. Use a debugger and find out.

        Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
        Visit the Qt Academy at https://academy.qt.io/catalog

        1 Reply Last reply
        1
        • T timob256
          27 Jul 2023, 15:19

          I can't understand what the error is, or rather how to solve it.

          at the start, run

          void MainWindow::on_pB_start_clicked()
          {
              // тут комутирую сигнал, если
              // не по локальной сети и не на мой порт , то
              // конетками не соединяю отправку сигнала и мой график
              // если да то да
          
              str_ip = ui->lE_enover_id->text();
              str_port = ui->lE_enover_port->text();
          
              //то отправляем по локальному хосту
              if ( str_ip.isEmpty()  == true )
              {
                  int int_port = str_port.toInt(); // превращаем в инты
                  m_pudp->bind(QHostAddress::LocalHost, int_port);
              }
              else
              {
                  int int_port = str_port.toInt(); // превращаем в инты
                  m_pudp->bind(QHostAddress(str_ip), int_port);
              }
          
              // тут запуск секундомера
              // и при его сробатывании отправляется сообщение  числом в нутри
              timer_start->start(500); // 0.5 секунд
          
              ui->pB_start->setEnabled(false); // блокируем чтоб заново связ не тянули
          }
          

          потом отправка сообщения

          // тут отправляем сообщение
          void MainWindow::onTimeoutStart()
          {
          
              str_ip = ui->lE_enover_id->text();
              str_port = ui->lE_enover_port->text();
              int_port = str_port.toInt(); // превращаем в инты
          
               // сообщение
              // состоит из двух чисел первое Х второе У
              if(grad >=360 )
              {
                  grad = 0;
              }
              data_x = 10 * sin(grad);
              grad = grad + 5;
              if(data_y >= 100)
                  data_y = 0;
              data_y = data_y + 1;
          
              //отправка
              QByteArray baDatagram_out;
              QDataStream out(&baDatagram_out, QIODevice::WriteOnly);
              out.setVersion(QDataStream::Qt_5_3);
              out << data_x;
              out << data_y;
              if(ui->lE_enover_id->text().isEmpty() == true)
              {
                  m_pudp->writeDatagram(baDatagram_out, QHostAddress::LocalHost, int_port);
              }
              else
              {
                  m_pudp->writeDatagram(baDatagram_out, QHostAddress(str_ip),  int_port);
              }
          }
          

          here the reception is a separate socket :

          // тут принимаем сообщение ( постоянно в течении 0ю5 сек)
          void MainWindow::onTimeoutPlot()
          {
          
              //! если айпишник сменился то закрываем связь и сновоа делаем соединение
              // первичный запуск
              if(ip_me_d == true)
              {
                  // сетевые настройки (на приём)
                  str_ip_me  =  ui->label_u_ip->text();
                  str_port_me = ui->lE_u_port->text();
          
                  int_port_me = str_port_me.toInt(); // превращаем в инты
          
                  //то отправляем по локальному хосту
                  if ( str_ip_me.isEmpty()  == true )
                  {
                       m_pudp_in->bind(QHostAddress::LocalHost, int_port_me);
                  }
                  else
                  {
                       m_pudp_in->bind(QHostAddress(str_ip_me), int_port_me);
                  }
                  // имена для проверки
                  str_ip_me_old = str_ip_me;
                  str_port_me_old =str_port_me;
                  //делаем конект
                  connect(m_pudp_in, SIGNAL(readyRead()), SLOT(slotProcessDatagrams()));
                  // датчик
                  ip_me_d = false;
              }
              // тут сравниваем строку если сторока отличается от строки то биндимся заного на новых правах
              if(ip_me_d == false)
              {
                  // проверка на именения
                  str_ip_me  =  ui->label_u_ip->text();
                  str_port_me = ui->lE_u_port->text();
          
                  // если строки равны, x должен вернуть 0
                  int ip_me_verification = QString::compare(str_ip_me, str_ip_me_old, Qt::CaseInsensitive);
                  if(ip_me_verification != 0)
                  {
                      new_m_pudp = true; // айпишник сменился
                  }
                  int port_me_verification = QString::compare(str_port_me, str_port_me_old, Qt::CaseInsensitive);
                  if(port_me_verification != 0)
                  {
                      new_m_pudp = true; // айпишник сменился
                  }
                  if(new_m_pudp == true)
                  {
                      // закрываем старое соединение
                      m_pudp_in->close();
                      // открываем новое соединение
                      // сетевые настройки (на приём)
                      str_ip_me  =  ui->label_u_ip->text();
                      str_port_me = ui->lE_u_port->text();
          
                      int_port_me = str_port.toInt(); // превращаем в инты
          
                      //то отправляем по локальному хосту
                      if ( str_ip_me.isEmpty()  == true )
                      {
                           m_pudp_in->bind(QHostAddress::LocalHost, int_port_me);
                      }
                      else
                      {
                           m_pudp_in->bind(QHostAddress(str_ip_me), int_port_me);
                      }
                      // имена для проверки
                      str_ip_me_old = str_ip_me;
                      str_port_me_old =str_port_me;
                      // датчики настраиваем
                      new_m_pudp = false;
            
          
                    ip_me_d = false;
                      //делаем конект
                      connect(m_pudp_in, SIGNAL(readyRead()), SLOT(slotProcessDatagrams()));
          
                  }
              }
          }
          
          void MainWindow::slotProcessDatagrams()
          {
              QByteArray baDatagram_in;
              do {
                  baDatagram_in.resize(m_pudp_in->pendingDatagramSize());
                  m_pudp_in->readDatagram(baDatagram_in.data(), baDatagram_in.size());
              } while(m_pudp_in->hasPendingDatagrams());
          
              QDataStream in(&baDatagram_in, QIODevice::ReadOnly);
              in.setVersion(QDataStream::Qt_5_3);
              QString str_priem;
              in >>  str_priem;
          
              qDebug() << "str_priem: " << str_priem;
              str_priem.clear();
          
          }
          

          But why the error and where it comes from ?

          введите сюда описание изображения

          T Offline
          T Offline
          timob256
          wrote on 27 Jul 2023, 16:14 last edited by
          #3

          @timob256

          Perhaps it was necessary to connect
          #include <QtNetwork>

          previously, the header was without

          #include <QtNetwork>
          

          now it looks like this

          #include <QMainWindow>
          #include "qcustomplot.h"
          #include <QtNetwork>
          #include <QHostInfo>
          #include <QNetworkInterface>
          #include <QUdpSocket>
          #include <QAbstractSocket>
          #include <QHostAddress>
          #include <QTime>
          #include <QTimer>
          #include <QVector>
          
          #include <QtMath>
          

          However, he does not transmit much data yet ж_ж

          1 Reply Last reply
          0
          • T timob256 has marked this topic as solved on 27 Jul 2023, 16:37

          2/3

          27 Jul 2023, 15:56

          • Login

          • Login or register to search.
          2 out of 3
          • First post
            2/3
            Last post
          0
          • Categories
          • Recent
          • Tags
          • Popular
          • Users
          • Groups
          • Search
          • Get Qt Extensions
          • Unsolved