gct*_*gct 4 c linux linux-kernel
我遇到了一种情况,我可能想“跳过”管道或套接字中的数据进行处理。我当然可以将数据读入缓冲区并丢弃它,但是有更有效的方法吗?也许像 sendfile 这样的东西可以与不可映射的源一起使用?
你需要read数据。你用它做什么取决于你,所以你可以跳过某些部分,或者其他什么。
如果不读取它,数据就会停留在读取缓冲区中。将其从缓冲区中取出的推荐方法是读取它。
话虽如此,如果您读到的内容表明所有后续数据都将毫无用处,您可以直接关闭连接并完成它。
我不确定你所说的“高效”是什么意思,因为从缓冲区读取可能不是代码中的性能瓶颈。