What is the difference between close() and shutdown()?



What is the difference between close() and shutdown()?..

Answer / 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

More Unix Socket Programming Interview Questions

What is the difference between read() and recv()?

0 Answers  


How do I convert a string into an internet address?

0 Answers  


What is a deep well socket?

0 Answers  


How can I bind() to a port number < 1024?

1 Answers  


What is the difference between SO_REUSEADDR and SO_REUSEPORT?

0 Answers  






What is the difference between a socket and a port?

0 Answers  


How can my client work through a firewall/proxy server?

1 Answers  


Where can a get a library for programming sockets?

1 Answers  


What exactly does SO_KEEPALIVE do?

1 Answers  


When should I use shutdown()?

1 Answers   Wipro,


How do unix sockets work?

0 Answers  


How can I read ICMP errors from connected UDP sockets?

1 Answers  


Categories