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.
Due to 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.
All FreeBSD documents are available for download at https://download.freebsd.org/ftp/doc/
Questions that are not answered by the
documentation may be
sent to <freebsd-questions@FreeBSD.org>.
Send questions about this document to <freebsd-doc@FreeBSD.org>.