聘我网

新概念招聘3.0

shutdown和close对于socket有什么区别么?

vote up0vote downstar

感觉socket既可以close又可以shutdown,

如何取舍,

区别是什么?

 

1 个答复

vote up0vote downcheck

shutdown(SocketFD, SHUT_RDWR);会断开连接并向Peer发送FIN / EOF

但是并不会释放SocketFD的资源。

close(SocketFD);会将SocketFDrefcount1,直到0时便释放相应的资源。

所以经常能看到这样的代码

/* perform read write operations ... */

shutdown(SocketFD, SHUT_RDWR);

close(SocketFD);
链接

您的回答





不是您要找的问题? 浏览其他含有标签 的问题或者 自己问个.