Give a man a fish and you feed him for a day.
Teach him to use the Net and he won’t bother you for weeks.
Everything is connected to the Internet, even refrigerators.1 So it’s time to turn our attention to network programming in the embedded space. Linux, as a Unix derivative, has extensive support for networking.
We’ll begin by looking at the fundamental network interface, the socket. With that as a foundation, we’ll go on to examine how common application-level network protocols can be used in embedded devices.
The “socket” interface, first introduced in the Berkeley versions of Unix, forms the basis for most network programming in Unix systems. Sockets are a generalization of the Unix file access mechanism ...