Socket programming review
In this section, we are going to discuss what sockets are, what their various types are, and generally what it means if we say that we are doing socket programming. This is going to be a short review, but it is essential to build this basis so that we can continue into deeper discussion in subsequent sections.
If you remember from the previous chapters, we have two categories of IPC techniques to be used by two or more processes to communicate and share data. The first category contains pull-based techniques that require an accessible medium (such as a shared memory or a regular file) to store data to and retrieve data from. The second category contains push-based techniques. These techniques require a channel to be established and the channel should be accessible by all processes. The main difference between these categories is regarding the way that data is retrieved from a medium in pull-based techniques, or a channel in push-based techniques...