Copyright (C) 2000-2012 |
GNU Info (libc.info)Closing a SocketClosing a Socket ---------------- When you have finished using a socket, you can simply close its file descriptor with `close'; see Note: Opening and Closing Files. If there is still data waiting to be transmitted over the connection, normally `close' tries to complete this transmission. You can control this behavior using the `SO_LINGER' socket option to specify a timeout period; see Note: Socket Options. You can also shut down only reception or transmission on a connection by calling `shutdown', which is declared in `sys/socket.h'. - Function: int shutdown (int SOCKET, int HOW) The `shutdown' function shuts down the connection of socket SOCKET. The argument HOW specifies what action to perform: `0' Stop receiving data for this socket. If further data arrives, reject it. `1' Stop trying to transmit data from this socket. Discard any data waiting to be sent. Stop looking for acknowledgement of data already sent; don't retransmit it if it is lost. `2' Stop both reception and transmission. The return value is `0' on success and `-1' on failure. The following `errno' error conditions are defined for this function: `EBADF' SOCKET is not a valid file descriptor. `ENOTSOCK' SOCKET is not a socket. `ENOTCONN' SOCKET is not connected. automatically generated by info2www version 1.2.2.9 |