QNetworkAccessManager, QNetworkRequest, and QNetworkReply.
Q2
One has to use QNetworkRequest::setRawHeader() with the appropriate HTTP header field "Range".
Q3
QUrlQuery
Q4
One has to use deleteLater() not delete.
Q5
Both inherit QAbstractSocket which inherits QIODevice. QIODevice is itself also the base class of QFile. So the handling-files and sockets have much in common. Thus one does not have to learn a second (complex) API only to communicate with sockets.
Q6
QUdpSocket
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month, and much more.