The different Socket options are :
SO_TIMEOUT
SO_LINGER
TCP_NODELAY
SO_RCVBUF
SO_SNDBUF.
They may be specified in various scenarios e.g. one might like to specify a timeout for read operations, to control the amount of time a connection will linger for before a reset is sent, whether Nagle's algorithm is enabled/disabled, or the send and receive buffers for datagram sockets.