www.delorie.com/gnu/docs/glibc/libc_328.html   search  
 
Buy the book!


The GNU C Library

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

16.8.2 Closing a Socket

When you have finished using a socket, you can simply close its file descriptor with close; see 13.1 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 16.12 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.


  webmaster     delorie software   privacy  
  Copyright 2003   by The Free Software Foundation     Updated Jun 2003