是否有一种方法可以关闭Unix套接字,使其仅用于读取或写入?
有没有一种方法可以只关闭TCP套接字的“一端”,以清楚地指示连接的一侧已完成对连接的写入?(就像您在每个Unix管道教程中使用管道一样。)或者我应该使用一些带内解决方案,如sentinel值或类似的解决方案吗?您可以使用该方法的第二个参数关闭套接字进行读写:是否有一种方法可以关闭Unix套接字,使其仅用于读取或写入?,unix,sockets,Unix,Sockets,有没有一种方法可以只关闭TCP套接字的“一端”,以清楚地指示连接的一侧已完成对连接的写入?(就像您在每个Unix管道教程中使用管道一样。)或者我应该使用一些带内解决方案,如sentinel值或类似的解决方案吗?您可以使用该方法的第二个参数关闭套接字进行读写: shutdown(sock, SHUT_RD) shutdown(sock, SHUT_WR) 如果服务器正在执行写入操作,并且对写入操作执行了shutdown(),则客户端在尝试读取时(而不是阻塞并等待数据到达)应该获得文件的结尾。但是
shutdown(sock, SHUT_RD)
shutdown(sock, SHUT_WR)
如果服务器正在执行写入操作,并且对写入操作执行了shutdown(),则客户端在尝试读取时(而不是阻塞并等待数据到达)应该获得文件的结尾。但是,它仍然能够写入套接字