Quantcast
Channel: QtWebEngine
Viewing all articles
Browse latest Browse all 13965

Setting up two QTcpServer with 2 clients on 2 threads

$
0
0
Hello, I have a main application which will run a simulation and set up a QTcpServer to receive messages over localhost from 1 or 2 embedded clients. The sockets have to work asynchronously. Previously, I have set up (in Java not Qt) a listen thread, created a socket in the thread, waited for a connection on a particular port, then just plotted the data from the connection. Since there were no slots or signals, it was straight forward. And I had only one embedded system to talk to. ***********CODE SNIPPET JAVA********************** ListenAndWriteThread(LiveGraph app){             t = new Thread(this,"Demo Thread");             this.app=app;             t.start();     }       public void run(){                 TcpServer ts = new TcpServer();                                     // Create the server         ts.setPort( port );                                                 // Set the port           ts.addTcpServerListener( new TcpServer.Listener() {                 // Add listener             //@Override         public void socketReceived( TcpServer.Event evt ) {             // New stream         DataStreamWriter fout =null;         InputStream in = null;         OutputStream out = null; *******************************CODE SNIPPET END***************************************** Now, I need a signal from the server when client 1 connects to set up the GUI Sliders and Dials. When the client starts sending data, I need signal from the socket to update the GUI appropriately. All the examples I have seen seem to close the connection, I want to ensure minimal latency (50 samples per second) and keep both the connections open while I continue running the simulator in the background. The output from the simulator is plotted on the bottom panel of the GUI, updated every 100 ms. SHould I start a server first and for each connection request spin off a separate thread? The thread, depending on the client port will have specific instructions for handling incoming data… Or should I have the tcpserver create a socket and have the socket launch threads for handling incoming data? I seek clarity, I am totally confused by the idea of thread and signal/socket. I am even more confused newbie after going through all the examples in the QTcpSocket section of the documentation. Any guidance and / or example code would be most welcome. Thanks, kpks

Viewing all articles
Browse latest Browse all 13965

Trending Articles