So far, we have been working directly on the board with the use of SSH to log in to the system. However, this is not feasible in many scenarios, and we don't want to limit the interface to this type of console-based access.
In this chapter, we will leave lower-level electronics aside for a moment, and start talking a little bit about network programming. Since our target is basically a headless system (in this case, a system with no direct output device), we will need some way of interfacing with it.
Perhaps we also don't want to force ourselves too tightly into a single platform, but would like to have a means to communicate with different types of computing platforms. So, how does one go about creating a platform-independent remote access?
For this, we will use sockets, and we will implement ours on top of the TCP/IP stack so that we will be able to establish them over a network. We will cover the following topics:
Discussing TCP/IP socket...