Chapter 23. Qt Network Programming
Until now, we have only talked about using Qt for GUI programming. This is Qt’s main mission, but you can also do other things with it. For example, you can write network applications with the Qt network extension. This extension includes a number of classes that provide portable access to TCP/IP sockets on a low level, some higher-level classes that let you access network resources by specifying URLs, and two classes that provide general URL manipulation.
To show how to write network programs with Qt, this chapter contains two sample programs, a simple HTTP server, and a simple download client. You’ll also find information about which classes are available and what they can do for you.
Low-Level Socket Access
The classes QSocket,
QServerSocket, QSocketDevice,
QHostAddress, and QSocketNotifier
provide low-level, platform-independent access to TCP/IP sockets. Of
these classes, QSocketDevice is rarely used because it
only provides a thin layer around the operating system socket
functionality. QSocketNotifier integrates a system
socket into the Qt event notification system and event loop by
emitting a signal when data can be read from or written to the
socket. You do not need this class if you use
QSocket or QServerSocket because
these two classes have their own facilities for emitting signals
(which in turn use
QSocketNotifier internally).
This leaves QSocket,
QServerSocket, and
QHostAddress for the general cases. Of these classes,
QSocket and ...