1. 程式人生 > >Linux socket shutdown()和close()

Linux socket shutdown()和close()

關閉 sys 描述 shu nis close lose 標記 rst

  • 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()