我正在尝试实现零复制机制,即与TransmitFile()
API 相反的功能。
但我不知道如何在内核中注册缓冲区。以下是我想要实现零拷贝的详细信息:
我们将在客户端缓冲区中收到来自服务器的大量数据,我在这里也怀疑天气数据将进入套接字缓冲区(客户端)还是首先进入 NIC 缓冲区,请也清除这个疑问。
现在,我想从套接字缓冲区将数据直接复制到内核缓冲区,然后复制到磁盘中,而不进行读写系统调用,即不切换上下文。
数据只能直接移动到内核空间内的内核缓冲区。
是否有任何 API 或某种方法可以实现这一目标?还有其他建议吗?
套接字位于 TCP/IP 连接上。