1

我正在尝试实现零复制机制,即与TransmitFile()API 相反的功能。

但我不知道如何在内核中注册缓冲区。以下是我想要实现零拷贝的详细信息:

  1. 我们将在客户端缓冲区中收到来自服务器的大量数据,我在这里也怀疑天气数据将进入套接字缓冲区(客户端)还是首先进入 NIC 缓冲区,请也清除这个疑问。

  2. 现在,我想从套接字缓冲区将数据直接复制到内核缓冲区,然后复制到磁盘中,而不进行读写系统调用,即不切换上下文。

  3. 数据只能直接移动到内核空间内的内核缓冲区。

是否有任何 API 或某种方法可以实现这一目标?还有其他建议吗?

套接字位于 TCP/IP 连接上。

4

1 回答 1

1

不幸的是,没有任何 API 可以接收。但是您可以尝试 ZwWrite()。

于 2013-07-18T09:50:34.487 回答