Linux socket shutdown()和close()

Posted jhc888007的笔记

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux socket shutdown()和close()相关的知识,希望对你有一定的参考价值。

  • int close(int sockfd)

#include<unistd.h>
将套接字标记为关闭,尝试发送已经排队的数据,将套接字描述符减一,如果描述符为0则发送FIN触发套接字关闭

  • int shutdown(int sockfd,int how)

#include <sys/socket.h>
SHUT_RD代表关闭发送通道,还会尝试发送已经排队的数据,然后发送FIN
SHUT_WR代表关闭接收通道,如果接收到回复RST
SHUT_RDWR代表同时关闭发送结束通道
shutdown只会发送FIN不会释放套接字






以上是关于Linux socket shutdown()和close()的主要内容,如果未能解决你的问题,请参考以下文章

C语言 socket shutdown()函数(将与 sockfd 关联的套接字上的全双工连接全部或部分关闭)

整理close 和 shutdown 的原理

Socket 编程中 close() 和 shutdown() 有啥区别?

Linux上TCP的shutdown/close

socket中shutdown和closesocket的区别

socket.shutdown 与 socket.close