14.1 Introduction
This chapter covers a variety of functions and
techniques that we lump into the category of "advanced I/O." First
is setting a timeout on an I/O operation, which can be done in
three different ways. Next are three more variations on the
read and write functions: recv and
send, which allow a fourth argument that contains flags
from the process to the kernel, readv and writev,
which let us specify a vector of buffers to input into or output
from, and recvmsg and sendmsg, which combine all
the features from the other I/O functions along with the new
capability of receiving and sending ancillary data.
We also consider how to determine the amount of
data in the socket receive buffer, how to use the C standard I/O
library with sockets, and we discuss some advanced ways to wait for
events.
|