Transferring Data
-----------------
Once a socket has been connected to a peer, you can use the ordinary
`read' and `write' operations (Note:I/O Primitives) to transfer
data. A socket is a two-way communications channel, so read and write
operations can be performed at either end.
There are also some I/O modes that are specific to socket operations.
In order to specify these modes, you must use the `recv' and `send'
functions instead of the more generic `read' and `write' functions.
The `recv' and `send' functions take an additional argument which you
can use to specify various flags to control special I/O modes. For
example, you can specify the `MSG_OOB' flag to read or write
out-of-band data, the `MSG_PEEK' flag to peek at input, or the
`MSG_DONTROUTE' flag to control inclusion of routing information on
output.