感觉socket既可以close又可以shutdown,
socket
close
shutdown
如何取舍,
区别是什么?
shutdown(SocketFD, SHUT_RDWR);会断开连接并向Peer发送FIN / EOF,
shutdown(SocketFD, SHUT_RDWR);
FIN / EOF
但是并不会释放SocketFD的资源。
SocketFD
而close(SocketFD);会将SocketFD的refcount减1,直到0时便释放相应的资源。
close(SocketFD);
refcount
1
0
所以经常能看到这样的代码:
/* perform read write operations ... */ shutdown(SocketFD, SHUT_RDWR); close(SocketFD);
标签
查看
263 次