BSD sockets take interprocess communications to a
new level. It is no longer necessary for the communicating processes to run on the same
machine. They still can, but they
do not have to.
Not only do these processes not have to run on the same machine, they do not have to
run under the same operating system. Thanks to BSD
sockets, your FreeBSD software can smoothly cooperate with a program running on a Macintosh®, another one running on a Sun™ workstation, yet another one running under Windows® 2000, all connected with an Ethernet-based local
area network.
But your software can equally well cooperate with processes running in another
building, or on another continent, inside a submarine, or a space shuttle.
It can also cooperate with processes that are not part of a computer (at least not in
the strict sense of the word), but of such devices as printers, digital cameras, medical
equipment. Just about anything capable of digital communications.