P3: Somewhat important
5.8, 5.9.1, 5.9.3, 5.9
* macOS (10.13.1)
* Tested under Qt versions: 5.8 / 5.9 / 5.9.1 / 5.9.3
We're creating an app that heavily relies on network:
- It uses web-services through HTTP(S) using XMLHttpRequest from QML
- It uses TCP sockets for intense P2P data sharing from C++
We realized that once the first XMLHttpRequest is sent from our app, the entire network of the computer where the app is run from starts slowing down, affecting both our app performance, any browser, and even ping commands run from terminal.
I found out that the problem was exactly the same when running the "Qt Quick Examples - XMLHttpRequest" example.
So, basically, to reproduce this:
- Open that example from QtCreator ;
- Open a terminal and ping 22.214.171.124
- Run the app and notice there is no change in ping request time ;
- Click on "Get Data" and then "Request data.xml" ;
- Notice the delay on the ping, you should see that, even after the XMLHttpRequest has been processed, it's taking more time to issue ping. Same on the browser.
The solution we are using now to fix this issue is to implement some kind of proxy on our server that forwards the requests to the different services. Our app directly connects to it using TCP socket and issues its requests. But it's definitely not a production solution...