7.4.Â The Sockets Model

BSD sockets are built on the basic UNIXÂ®
model: Everything is a file. In our
example, then, sockets would let us receive an HTTP
file, so to speak. It would then be up to us to
extract the PNG file
from it.

Because of the complexity of internetworking, we cannot just
use the open system call, or
the open() C function. Instead, we need to
take several steps to “opening” a socket.

Once we do, however, we can start treating the
socket the same way we treat any
file descriptor: We can
read from it, write to
it, pipe it, and, eventually,
close it.