Chapter 5. Making a Remote Desktop App
To summarize the networking theme started in the previous chapter, let's build another client-server application—a Remote Desktop app. This time our app will solve a more complex practical task and communicate using a "real" application-level protocol.
Let's discuss the task at hand for a moment. First, the purpose: a typical remote desktop program allows users to access other computers remotely via local area network or the Internet. It is common to use such apps for ad hoc technical support or remote assistance, for example, by IT personnel in a big company.
Second, the terminology: the host machine is the one being remotely controlled (running the remote-control server), and the client is the system that controls the host. Remote system management is basically the process of user interaction with the host machine using another computer system (client) as a proxy.
So, this whole endeavor boils down to the following...