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. QWebSocket is not able to connect server

QWebSocket is not able to connect server

Scheduled Pinned Locked Moved Solved General and Desktop
17 Posts 4 Posters 3.4k Views 1 Watching
  • 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.
  • SteMMoS SteMMo

    @Bonnie
    Added a new slot, now the debug output is:

    [IoBoard] url:  "ws://localhost:7681"  - Scheme:  "ws"  - Host:  "localhost"  - Port:  7681
    [IoBoard] state: QAbstractSocket::UnconnectedState
    [IoBoard] StateChanged: QAbstractSocket::ConnectingState
    [IoBoard] state: QAbstractSocket::ConnectingState
    ...
    [IoBoard] Destroyed
    QObject::connect: Cannot connect (null)::destroyed() to QHostInfoLookupManager::waitForThreadPoolDone()
    
    B Offline
    B Offline
    Bonnie
    wrote on last edited by Bonnie
    #6

    @SteMMo
    When you said "exit of the program", did you exit manually? Or the program just ends?
    If you exit manually, how about waiting for like 10 minutes before your exit?
    If your project is simple, it might also help if you post more code.

    SteMMoS 2 Replies Last reply
    0
    • M Offline
      M Offline
      manordheim
      wrote on last edited by
      #7

      Do you have access to the server? Does the server have anything to say?

      SteMMoS 1 Reply Last reply
      0
      • M manordheim

        Do you have access to the server? Does the server have anything to say?

        SteMMoS Offline
        SteMMoS Offline
        SteMMo
        wrote on last edited by
        #8

        @manordheim as I said in the previous message, I'm able to connect the server (it is my program running on the same machine) by a web page and websocket library via Javascript.
        They communicate correctly.

        1 Reply Last reply
        0
        • B Bonnie

          @SteMMo
          When you said "exit of the program", did you exit manually? Or the program just ends?
          If you exit manually, how about waiting for like 10 minutes before your exit?
          If your project is simple, it might also help if you post more code.

          SteMMoS Offline
          SteMMoS Offline
          SteMMo
          wrote on last edited by
          #9

          @Bonnie I mean that I run the program, then I shut down the program by Alt-F4.
          I start a 10-minutes test ...

          SteMMoS 1 Reply Last reply
          0
          • B Bonnie

            @SteMMo
            When you said "exit of the program", did you exit manually? Or the program just ends?
            If you exit manually, how about waiting for like 10 minutes before your exit?
            If your project is simple, it might also help if you post more code.

            SteMMoS Offline
            SteMMoS Offline
            SteMMo
            wrote on last edited by
            #10

            @Bonnie
            Right now the connection is hosted in the constructor of a global object.

            /**
             * @brief IoBoard::IoBoard
             */
            IoBoard::IoBoard(QObject* parent) : QObject(parent)
            {
                qDebug() << "Costruttore IoBoard";
            
                // -- websocket
            
                QObject::connect( &_ws, &QWebSocket::connected, this, &IoBoard::onConnected);
                QObject::connect( &_ws, &QWebSocket::disconnected, this, &IoBoard::onDisconnected);
                QObject::connect( &_ws, &QWebSocket::destroyed, this, &IoBoard::onDestroyed);
                QObject::connect( &_ws, &QWebSocket::stateChanged, this, &IoBoard::onStateChanged);
            
                connect( &_ws, QOverload<QAbstractSocket::SocketError>::of(&QWebSocket::error),
                    [=](QAbstractSocket::SocketError error){
                        qDebug() << "[IoBoard] Errore: " << error;
                    }
                );
            
                QUrl url ("ws://localhost:7681");
                // url.setHost("10.191.40.216");
                qDebug() << "[IoBoard] url: " << url.toString() << " - Scheme: " << url.scheme() << " - Host: " << url.host() << " - Port: " << url.port();
                qDebug() << "[IoBoard] state:" << _ws.state();
                _ws.open(url);
                qDebug() << "[IoBoard] state:" << _ws.state();
            }
            
            1 Reply Last reply
            0
            • SteMMoS SteMMo

              @Bonnie I mean that I run the program, then I shut down the program by Alt-F4.
              I start a 10-minutes test ...

              SteMMoS Offline
              SteMMoS Offline
              SteMMo
              wrote on last edited by SteMMo
              #11

              @Bonnie
              More than half an hour and nothing is notified.
              I also press some buttons and return but websocket does not notify anything.

              Costruttore IoBoard
              [IoBoard] url:  "ws://localhost:7681"  - Scheme:  "ws"  - Host:  "localhost"  - Port:  7681
              [IoBoard] state: QAbstractSocket::UnconnectedState
              [IoBoard] StateChanged: QAbstractSocket::ConnectingState
              [IoBoard] state: QAbstractSocket::ConnectingState
              
              Costruttore Cassetti
              QSqlDatabasePrivate::addDatabase: duplicate connection name 'qt_sql_default_connection', old connection removed.
              [Cassetti] open:  true
              >> cassetti: 19
              Costruttore Prenotazioni
              Platform:  "xcb"
              Farmacia:  "Locker 1 - Gruppo AC - Roman"
              Cassetti:  "99"
              serial:  "ttyS1"
              [CheckCode] Tipo:  0  - Code: "99887766"
              qml: onActFocCh
              qml: OK - 123
              qml: OK - 123
              qml: onActFocCh
              qml: onActFocCh
              qml: onActFocCh
              qml: onActFocCh
              qml: onActFocCh
              qml: onActFocCh
              qml: onActFocCh
              
              aha_1980A 1 Reply Last reply
              0
              • B Offline
                B Offline
                Bonnie
                wrote on last edited by
                #12

                What's you Qt version?
                Can you provide a minimal code example for others to test?

                1 Reply Last reply
                0
                • SteMMoS SteMMo

                  @Bonnie
                  More than half an hour and nothing is notified.
                  I also press some buttons and return but websocket does not notify anything.

                  Costruttore IoBoard
                  [IoBoard] url:  "ws://localhost:7681"  - Scheme:  "ws"  - Host:  "localhost"  - Port:  7681
                  [IoBoard] state: QAbstractSocket::UnconnectedState
                  [IoBoard] StateChanged: QAbstractSocket::ConnectingState
                  [IoBoard] state: QAbstractSocket::ConnectingState
                  
                  Costruttore Cassetti
                  QSqlDatabasePrivate::addDatabase: duplicate connection name 'qt_sql_default_connection', old connection removed.
                  [Cassetti] open:  true
                  >> cassetti: 19
                  Costruttore Prenotazioni
                  Platform:  "xcb"
                  Farmacia:  "Locker 1 - Gruppo AC - Roman"
                  Cassetti:  "99"
                  serial:  "ttyS1"
                  [CheckCode] Tipo:  0  - Code: "99887766"
                  qml: onActFocCh
                  qml: OK - 123
                  qml: OK - 123
                  qml: onActFocCh
                  qml: onActFocCh
                  qml: onActFocCh
                  qml: onActFocCh
                  qml: onActFocCh
                  qml: onActFocCh
                  qml: onActFocCh
                  
                  aha_1980A Offline
                  aha_1980A Offline
                  aha_1980
                  Lifetime Qt Champion
                  wrote on last edited by
                  #13

                  Hi @SteMMo,

                  Have you already tried the Echo Client Example and checked if that can connect to your server?

                  Btw, Qt 5.7.1 is quite old. Can you update to a newer version?

                  Regards

                  Qt has to stay free or it will die.

                  SteMMoS 2 Replies Last reply
                  0
                  • aha_1980A aha_1980

                    Hi @SteMMo,

                    Have you already tried the Echo Client Example and checked if that can connect to your server?

                    Btw, Qt 5.7.1 is quite old. Can you update to a newer version?

                    Regards

                    SteMMoS Offline
                    SteMMoS Offline
                    SteMMo
                    wrote on last edited by
                    #14

                    @aha_1980 Hi,
                    at the moment, no.
                    The boards on the field mount an old OS (Debian stretch); this repository provides version 5.7.1
                    Maybe in the future I'll be able to move on a new version (buster)

                    1 Reply Last reply
                    0
                    • aha_1980A aha_1980

                      Hi @SteMMo,

                      Have you already tried the Echo Client Example and checked if that can connect to your server?

                      Btw, Qt 5.7.1 is quite old. Can you update to a newer version?

                      Regards

                      SteMMoS Offline
                      SteMMoS Offline
                      SteMMo
                      wrote on last edited by
                      #15

                      @aha_1980 I tried the sample and yes, it worked:

                      root@tinkerboard:/home/amtek/echoClient# ./echoclient -d 
                      WebSocket server: QUrl("ws://localhost:7681")
                      WebSocket connected
                      Message received: "Unk"
                      

                      I don't understand: my code for IoBoard is basically started from the code of EchoClient class .. the code is included in a past message ..

                      1 Reply Last reply
                      1
                      • SteMMoS Offline
                        SteMMoS Offline
                        SteMMo
                        wrote on last edited by
                        #16

                        Solved!

                        Comparing main.cpp file I found that the definition of IoBoard object was static and global (outside the main() function).
                        Now I defined the object inside the main() function and the connection is done.

                        aha_1980A 1 Reply Last reply
                        2
                        • SteMMoS SteMMo

                          Solved!

                          Comparing main.cpp file I found that the definition of IoBoard object was static and global (outside the main() function).
                          Now I defined the object inside the main() function and the connection is done.

                          aha_1980A Offline
                          aha_1980A Offline
                          aha_1980
                          Lifetime Qt Champion
                          wrote on last edited by
                          #17

                          Hi @SteMMo,

                          I'm glad you figured it out. So please mark this topic as SOLVED too.

                          Thanks!

                          Qt has to stay free or it will die.

                          1 Reply Last reply
                          0

                          • Login

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