In this chapter, we will try to provide a few glimpses into high-performance networking themes that lie somehow lie outside standard Qt use cases.
The classic (and perennial) network programming problem is writing high-performance networked servers. Since Qt isn't very well-suited for that task—I, for example, used the C++ RestSdk library to write a HTTP server—we will only gloss over some problem areas to give you a little more of an overview:
- User-space networking stacks: Normally, network protocol handling is implemented in the OS kernel. But for the highest performance, there are user space implementations that reduce the syscall overhead and give the user total control over buffer handling!
- Threading considerations: We have already mentioned in Chapter 5, An In-Depth Guide to Concurrency and Multithreading, that, for optimal...