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
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
write to it,
it, and, eventually,