Are you writing a Qt application that uses the network? Are you e.g. using data from Facebook, Twitter or Instagram? Then this presentation might help you get data from the Web faster. Usually, performance improvements on the network layer outperform improvements in e.g. the file system by around one order of magnitude. Often network speedups are in the range of hundreds of milliseconds, which is very hard or even impossible to achieve in any other layer of the Qt framework. Improving network latency will often create a speedup that is immediately visible. QtNetwork gained some new features in 5.1 and 5.2 that improve performance quite a bit. However, most of this new API will not be used unless the app developer enables it explicitly in his app. Some of these features include:
* API for making DNS lookup, TCP handshake, or SSL handshake before sending the actual HTTP request:
If an app always needs to connect to the same server at startup, it could
open the socket first thing when starting up (and if needed also do the SSL
handshake), and then once all credentials for the HTTP request are ready,
send it on the open socket; this can save several network round trips.
* SSL session resumption:
If Qt has already made a SSL handshake to a server, it automatically re-uses
SSL sessions upon connecting other sockets, saving one network round trip.
* Persisting TLS client sessions locally and reusing them:
Even though SSL sessions are resumed on the second socket connected to a
server, it still needs to make a full handshake on the first socket. However,
the server often sends a TLS session ticket, which can be persisted locally
(e.g. to disk or to a database) and then re-used on the first socket when
connecting, saving one network round trip.
This talk will show you exampless on how to use these new features, as well as give some general practice on how to use QtNetwork in your application.