半关闭函数:
close() :只会将某文件的“描述符引用计数”减 1;
shutdown ():会关掉连接在同一个套接字上的所有文件描述符,即计数置 0。
代码为:
#include <sys/socket.h>
int shutdown(int sockfd, int how);
参数how:
(1)SHUT_RD (0):关闭读功能,不允许 sockfd 进行读操作。该套接字不再接受数据,任何当前在套接字接受缓冲区的数据将被丢弃掉。
(2)SHUT_WR (1):关闭写功能,不允许 sockfd 进行写操作,不能再发数据。
(3)SHUT_RDWR(2):关闭 sockfd 的读写功能。相当于调用 shutdown 两次:首先 SHUT_RD,然后SHUT_WR,效果同 close。