关闭/清理"混合"文件描述符/套接字

jkr*_*mer 6 c sockets io file-descriptor

当我使用accept()创建一个套接字并使用fdopen()从中创建一个FILE时,我需要做些什么来清理所有内容?我需要在套接字上的FILE,shutdown()和close()上执行fclose(),还是只需要shutdown()和/或close()或fclose()?如果我不做fclose(),我是否必须手动释放()FILE指针?

tsg*_*tsg 5

来自man fdopen:

文件描述符不是重复的,并且在fdopen()创建的流关闭时将关闭

所以我只使用fclose(),它也会关闭底层文件描述符.我不知道是否需要shutdown().