What is the difference between close() and shutdown()?
Answer Posted / chaitanya
Generally the difference between close() and shutdown() is: close() closes the socket id for the process but the connection is still opened if another process shares this socket id. The connection stays opened both for read and write, and sometimes this is very important. shutdown() breaks the connection for all processes sharing the socket id. Those who try to read will detect EOF, and those who try to write will reseive SIGPIPE, possibly delayed while the kernel socket buffer will be filled. Additionally, shutdown() has a second argument which denotes how to close the connection: 0 means to disable further reading, 1 to disable writing and 2 disables both.
| Is This Answer Correct ? | 0 Yes | 0 No |
Post New Answer View All Answers
What exactly is a socket?
What is socket address with example?
Can multiple clients connect to same socket?
Is tcp or unix socket faster?
How many sockets can a cpu have?
How can I write a multi-homed server?
What is the function of socket?
What is a socket file?
What is difference between socket () and serversocket () class?
Are unix sockets faster than tcp?
Are sockets files?
Why does it take so long to detect that the peer died?
How are unix domain sockets implemented?
Can a single socket port be used for multiple applications?
What is a sae socket?