In this chapter, well take a quick tour of Sockets programming. Well discuss the Sockets programming paradigm, elements of Sockets applications, and the Sockets API. The Sockets API allows us to develop applications that communicate over a network. The network can be a local private network or the public Internet. An important item to note about Sockets programming is that its neither operating system specific nor language specific. Sockets applications can be written in the Ruby scripting language on a GNU/Linux host or in C on an embedded controller. This freedom and flexibility are the reasons that the BSD4.4 Sockets API is so popular.