什么';在C和C应用程序之间实现IPC的最快方法是什么?

什么';在C和C应用程序之间实现IPC的最快方法是什么?,c,winapi,interop,c#-2.0,ipc,C,Winapi,Interop,C# 2.0,Ipc,我想为发送大量字符串(~250000),最快的选项可能是使用。这仍然比大多数其他IPC选项具有更高的性能。不是目前win32上最快的,但值得研究: 在Windows上使用TCP套接字,但效率非常高 对于一个封闭源代码的解决方案,我认为29 West的解决方案不容易被击败,它在.net中包含了一个罕见的零拷贝消息功能,共享内存或MMF是最快的方法。它的速度和内核对象一样快,内核对象用于发送有关数据可用性的信号。而且,更重要的是,您可以首先打开共享内存,然后将数据直接放在那里(为您节省一次复制操作)

我想为发送大量字符串(~250000),最快的选项可能是使用。这仍然比大多数其他IPC选项具有更高的性能。

不是目前win32上最快的,但值得研究:

在Windows上使用TCP套接字,但效率非常高


对于一个封闭源代码的解决方案,我认为29 West的解决方案不容易被击败,它在.net中包含了一个罕见的零拷贝消息功能,共享内存或MMF是最快的方法。它的速度和内核对象一样快,内核对象用于发送有关数据可用性的信号。而且,更重要的是,您可以首先打开共享内存,然后将数据直接放在那里(为您节省一次复制操作),并向其他应用程序发送信号。另一个应用程序可以直接使用共享内存中的数据(同样,不需要复制)

不确定,但我认为这段代码有缺陷。它发送几个字符串,然后停止(从C应用程序端)@blez:确保阅读该帖子底部的注释-需要设置重叠IO的一些标志,这些标志不在原始帖子中…因此,这个问题包含有关在.NET中使用共享内存的信息:如果进程在同一台机器上,很难比这快得多。