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. QTCP server ... possible run more than one?
Qt 6.11 is out! See what's new in the release blog

QTCP server ... possible run more than one?

Scheduled Pinned Locked Moved Unsolved General and Desktop
24 Posts 4 Posters 7.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.
  • gfxxG gfxx

    @jsulm because I share data per client request and data need to go to that client .... so for know what type of data need to send, need to know if that client is connect or not .... plus when receive data need to know witch client send that data .... because packet not contain client id so not possible filter it ....

    Sorry but for me socket is a quite new affairs ....

    jsulmJ Online
    jsulmJ Online
    jsulm
    Lifetime Qt Champion
    wrote on last edited by
    #11

    @gfxx said in QTCP server ... possible run more than one?:

    when receive data need to know witch client send that data

    You know from which client you got data because for each client you have a dedicated QTcpSocket instance (as I already wrote above). So, you simply write to the same socket from which you got data...

    https://forum.qt.io/topic/113070/qt-code-of-conduct

    gfxxG 1 Reply Last reply
    1
    • jsulmJ jsulm

      @gfxx said in QTCP server ... possible run more than one?:

      when receive data need to know witch client send that data

      You know from which client you got data because for each client you have a dedicated QTcpSocket instance (as I already wrote above). So, you simply write to the same socket from which you got data...

      gfxxG Offline
      gfxxG Offline
      gfxx
      wrote on last edited by gfxx
      #12

      @jsulm sorry non understand ...

      connect(server, &QTcpServer::newConnection, this, [=](){client = server->nextPendingConnection()
      

      call "client" on mainwindows ...... next connection can't be "client" .... at least need to be "client2" ..... how can i pass server->nextpendingconnection once to client2, then to client3 etc etc??

      bkt

      jsulmJ 1 Reply Last reply
      0
      • Christian EhrlicherC Offline
        Christian EhrlicherC Offline
        Christian Ehrlicher
        Lifetime Qt Champion
        wrote on last edited by
        #13

        Again: create a worker object which handles each connection for you, store the worker objects in a container if you really need to access them from anywhere else. Learn basic c++ principles.

        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
        0
        • gfxxG gfxx

          @jsulm sorry non understand ...

          connect(server, &QTcpServer::newConnection, this, [=](){client = server->nextPendingConnection()
          

          call "client" on mainwindows ...... next connection can't be "client" .... at least need to be "client2" ..... how can i pass server->nextpendingconnection once to client2, then to client3 etc etc??

          jsulmJ Online
          jsulmJ Online
          jsulm
          Lifetime Qt Champion
          wrote on last edited by
          #14

          @gfxx said in QTCP server ... possible run more than one?:

          next connection can't be "client" .... at least need to be "client2"

          Nothing stops you from storing all the QTcpSocket instances in a container (like QVector for example), like @Christian-Ehrlicher suggested already...

          https://forum.qt.io/topic/113070/qt-code-of-conduct

          gfxxG 1 Reply Last reply
          0
          • jsulmJ jsulm

            @gfxx said in QTCP server ... possible run more than one?:

            next connection can't be "client" .... at least need to be "client2"

            Nothing stops you from storing all the QTcpSocket instances in a container (like QVector for example), like @Christian-Ehrlicher suggested already...

            gfxxG Offline
            gfxxG Offline
            gfxx
            wrote on last edited by
            #15

            @jsulm thanks .... but these means every time need one istance need to choose the right from qvector ... or qlist or other container .... so problem is almost the same .... why start soket1, soket2, soket3 etc etc and never stop it is crap like Christian talk? really not understand ....

            bkt

            Christian EhrlicherC jsulmJ 2 Replies Last reply
            0
            • gfxxG gfxx

              @jsulm thanks .... but these means every time need one istance need to choose the right from qvector ... or qlist or other container .... so problem is almost the same .... why start soket1, soket2, soket3 etc etc and never stop it is crap like Christian talk? really not understand ....

              Christian EhrlicherC Offline
              Christian EhrlicherC Offline
              Christian Ehrlicher
              Lifetime Qt Champion
              wrote on last edited by
              #16

              @gfxx said in QTCP server ... possible run more than one?:

              but these means every time need one istance need to choose the right from qvector

              Why should you need one of these instances?

              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
              0
              • gfxxG gfxx

                @jsulm thanks .... but these means every time need one istance need to choose the right from qvector ... or qlist or other container .... so problem is almost the same .... why start soket1, soket2, soket3 etc etc and never stop it is crap like Christian talk? really not understand ....

                jsulmJ Online
                jsulmJ Online
                jsulm
                Lifetime Qt Champion
                wrote on last edited by
                #17

                @gfxx said in QTCP server ... possible run more than one?:

                really not understand

                And I don't understand the problem. Can you explain when you need these instances?

                https://forum.qt.io/topic/113070/qt-code-of-conduct

                gfxxG 1 Reply Last reply
                0
                • jsulmJ jsulm

                  @gfxx said in QTCP server ... possible run more than one?:

                  really not understand

                  And I don't understand the problem. Can you explain when you need these instances?

                  gfxxG Offline
                  gfxxG Offline
                  gfxx
                  wrote on last edited by
                  #18

                  @jsulm because data exchange is quite continuos and whitout any sort of regularity in format and type .... sometime file, sometime messages/string, sometime array/data structures .... if socket was interrupt need to have an advices and if need need to restart it 24/24 hour, 7/7 days ....

                  bkt

                  Christian EhrlicherC 1 Reply Last reply
                  0
                  • gfxxG gfxx

                    @jsulm because data exchange is quite continuos and whitout any sort of regularity in format and type .... sometime file, sometime messages/string, sometime array/data structures .... if socket was interrupt need to have an advices and if need need to restart it 24/24 hour, 7/7 days ....

                    Christian EhrlicherC Offline
                    Christian EhrlicherC Offline
                    Christian Ehrlicher
                    Lifetime Qt Champion
                    wrote on last edited by
                    #19

                    @gfxx said in QTCP server ... possible run more than one?:

                    ecause data exchange is quite continuos and whitout any sort of regularity in format and type .... sometime file, sometime messages/string, sometime array/data structures .... if socket was interrupt need to have an advices and if need need to restart it 24/24 hour, 7/7 days ....

                    This does not answer any of our questions and does not even give a hint on what exact problems you have when you do a proper c++ encapsulation of the sockets in a worker thread... but maybe my c++ knowledge is to small.

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

                    gfxxG 1 Reply Last reply
                    0
                    • Christian EhrlicherC Christian Ehrlicher

                      @gfxx said in QTCP server ... possible run more than one?:

                      ecause data exchange is quite continuos and whitout any sort of regularity in format and type .... sometime file, sometime messages/string, sometime array/data structures .... if socket was interrupt need to have an advices and if need need to restart it 24/24 hour, 7/7 days ....

                      This does not answer any of our questions and does not even give a hint on what exact problems you have when you do a proper c++ encapsulation of the sockets in a worker thread... but maybe my c++ knowledge is to small.

                      gfxxG Offline
                      gfxxG Offline
                      gfxx
                      wrote on last edited by
                      #20

                      @Christian-Ehrlicher said in QTCP server ... possible run more than one?:

                      ... but maybe my c++ knowledge is to small.

                      these is for make me laugh! thanks

                      so i try with worker thread and mySok class ... qabstractsocket::state:unconnected for kill worker ...

                      bkt

                      Christian EhrlicherC 1 Reply Last reply
                      0
                      • gfxxG gfxx

                        @Christian-Ehrlicher said in QTCP server ... possible run more than one?:

                        ... but maybe my c++ knowledge is to small.

                        these is for make me laugh! thanks

                        so i try with worker thread and mySok class ... qabstractsocket::state:unconnected for kill worker ...

                        Christian EhrlicherC Offline
                        Christian EhrlicherC Offline
                        Christian Ehrlicher
                        Lifetime Qt Champion
                        wrote on last edited by
                        #21

                        @gfxx said in QTCP server ... possible run more than one?:

                        so i try with worker thread

                        Again: I never ever told you to use threads and will not do so anywhen in the future for such a task!

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

                        gfxxG 1 Reply Last reply
                        0
                        • Christian EhrlicherC Christian Ehrlicher

                          @gfxx said in QTCP server ... possible run more than one?:

                          so i try with worker thread

                          Again: I never ever told you to use threads and will not do so anywhen in the future for such a task!

                          gfxxG Offline
                          gfxxG Offline
                          gfxx
                          wrote on last edited by gfxx
                          #22

                          @Christian-Ehrlicher said in QTCP server ... possible run more than one?:

                          Again: I never ever told you to use threads and will not do so anywhen in the future for such a task!

                          then I think I don't understand the term ... English is not my language ... you talk about worker thread .... but you mean the main thread on which the program works? .... because I understant only "worker.movetothread....." .... sorry ... so your solution is more istance of myClient class ..... so myclient1, myclient2..... because I know other pc and can choose them from ip adress and port number .... fixed istances for fixed ip adress&port number .... is what you means?

                          bkt

                          1 Reply Last reply
                          0
                          • SGaistS Offline
                            SGaistS Offline
                            SGaist
                            Lifetime Qt Champion
                            wrote on last edited by
                            #23

                            Hi,

                            @Christian-Ehrlicher wrote: "worker object". It does not require any thread. It represents the class that will implement whatever needs to be done with your socket.

                            Interested in AI ? www.idiap.ch
                            Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                            gfxxG 1 Reply Last reply
                            0
                            • SGaistS SGaist

                              Hi,

                              @Christian-Ehrlicher wrote: "worker object". It does not require any thread. It represents the class that will implement whatever needs to be done with your socket.

                              gfxxG Offline
                              gfxxG Offline
                              gfxx
                              wrote on last edited by gfxx
                              #24

                              @SGaist said in QTCP server ... possible run more than one?:

                              wrote: "worker object". It does not require any thread. It represents the class that will implement whatever needs to be done with your socket.

                              thanks...

                              bkt

                              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