[Interest] QTcpServer. Connecting.Sending data.

Tony Rietwyk tony at rightsoft.com.au
Thu Oct 10 01:42:45 CEST 2013

Hi Alexander, 


QTcpServer.listen only sets up the listening - it does not wait until a new
connection arrives.   In my code, I only call listen once, then run an event
loop.  The new connections arrive in the incomingConnection slot.  


void MyThread::run()


                srv = new (std::nothrow) tcp_server(ised_win_raw_ptr);

            if (!connect(srv,SIGNAL(newConnection(),srv,SLOT(connection())
))  error....

        if (!srv->listen(QHostAddress::Any, port)) error....
        delete srv;



Of course, you can put the slot anywhere.   The slot uses
nextPendingConnection() to get the socket.  


Works well for me.  


If you cannot use QThread.exec, then use srv->waitForNewConnection in your
terminate loop.  





From: interest-bounces+tony=rightsoft.com.au at qt-project.org
[mailto:interest-bounces+tony=rightsoft.com.au at qt-project.org] On Behalf Of
Alexander Syvak
Sent: Thursday, 10 October 2013 5:11 AM
To: Qt Interest
Subject: [Interest] QTcpServer. Connecting.Sending data.



here's the code of the redefined method run() of QThread class =>
void run() override 

        srv = new (std::nothrow) tcp_server(ised_win_raw_ptr);
#ifdef DEBUG
        qDebug() << "listener's thread => " << thread();
        terminate_ = false;
        while ( !terminate_ ) if ( !srv->isListening() )
srv->listen(QHostAddress::Any, port);
#ifdef DEBUG
        qDebug() << "Deleting the ised_tcp_server object.";
        srv->close(); // Closes the server. The server will no longer listen
for incoming connections.
        delete srv;
The program connects to 9000 port for listening.

Using the netcat command
nc -vv 9000
PC_NAME [] 9000 (?) open

Then I typed start and hit Enter.
The break point has been set in incomingConnection which is redefined
in the tcp_server class inheriting QTcpServer. 

Debugger did not paused in the method body when netcat connected to the


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20131010/3b53ce42/attachment.html>

More information about the Interest mailing list