从套接字读入IntPtr

时间:2014-08-08 16:54:28

标签: c# sockets unmanaged

我有一个c#应用程序,我将数据从网络读入固定缓冲区。但是,我没有创建固定缓冲区。缓冲区作为非托管内存块(IntPtr)传递给我。 Socket.Receive方法只接受字节的byte []或ArraySegments来读入。

最简单的方法是将数据读入临时缓冲区并将数据复制到非托管块中,但在完成此操作后,应用程序使用大约25%的cpu进行内存复制。

有什么方法可以将非托管块传递给Socket Read并避免进行额外的memcopy?

0 个答案:

没有答案