第51月第16天 shutdown()函数:优雅地断开TCP连接

1.

shutdown()函数:优雅地断开TCP连接

howto 在 Linux 下有以下取值:

  • SHUT_RD:断开输入流。套接字无法接收数据(即使输入缓冲区收到数据也被抹去),无法调用输入相关函数。
  • SHUT_WR:断开输出流。套接字无法发送数据,但如果输出缓冲区中还有未传输的数据,则将传递到目标主机。
  • SHUT_RDWR:同时断开 I/O 流。相当于分两次调用 shutdown(),其中一次以 SHUT_RD 为参数,另一次以 SHUT_WR 为参数。


howto 在 Windows 下有以下取值:

    • SD_RECEIVE:关闭接收操作,也就是断开输入流。
    • SD_SEND:关闭发送操作,也就是断开输出流。
    • SD_BOTH:同时关闭接收和发送操作。

void
Socket::shutdownWrite() { if (::shutdown(sockfd_, SHUT_WR) < 0) { perror("Socket::shutdownWrite"); } }

http://c.biancheng.net/view/2354.html

原文地址:https://www.cnblogs.com/javastart/p/14143123.html