我試圖實現零拷貝機制,即與TransmitFile()
API相反的功能。零拷貝接收函數
但我不知道如何在內核中註冊緩衝區。下面是我想要做的實行零拷貝的細節:
我們將在我們的客戶端緩存服務器接收大量的數據,我這裏有一個疑問,也是氣象數據將來到socket緩衝區(客戶端)或首先它會進入NIC緩衝區,請清除此疑問。
現在來自套接字緩衝區,我希望將數據直接複製到內核緩衝區,然後將文件複製到光盤中,而無需進行讀寫系統調用,即無需切換上下文。
數據必須僅在內核空間內直接移動到內核緩衝區。
是否有任何API或一些方法來實現這一目標?還有其他建議嗎?
套接字在TCP/IP連接上。
你在說哪個內核?什麼是「TransmitFile()API」?一些更多的細節會很好。 – Lstor
要麼你把第三方的東西歸咎於C++本身,要麼你忘記了我們並不是和你一樣在同一個項目上工作。打開你的想法!告訴我們你在說什麼。 –
什麼是您的硬件? – lucasg