我想从C应用程序向C#应用程序发送大量字符串(〜250000)作为< 1秒。当我用WM_COPYDATA和SendMessage完成时,我的C#应用程序挂起。我还可以做些什么?命名管道只包含在.NET 4中,而我正在使用.NET 2.我要坚持使用WM_COPYDATA并追加到列表中(这是一种快速操作)。然后后处理这个列表。C和C#应用程序之间IPC最快的方式是什么?
2
A
回答
5
最快的选择可能是使用named pipes via P/Invoke。这仍然比大多数其他IPC选项的性能高得多。
+0
不确定,但我认为这段代码是越野车。它发送一些字符串,然后停止(从C应用程序端) – blez
+1
@blez:确保阅读该帖子底部的注释 - 有一些标记用于需要设置的重叠IO,这些标记不在原来的帖子... –
1
不是最快在Win32目前,但值得一试:0mq
使用在Windows TCP套接字,但很有效。
对于一个封闭的源溶液我不认为29西方Ultra Messaging可以很容易地压倒,包括零拷贝消息的在.NET
4
共享存储器中的罕见的功能或MMF是最快的方法。它与内核对象一样快,用于发送关于数据可用性的信号。而且,更重要的是,您可以先打开共享内存,然后将数据直接放在那里(节省一次复制操作)并发送给其他应用程序。其他应用程序可以直接从共享内存中使用数据(同样,不需要复制)。
相关问题
- 1. Java和C++之间最快的IPC
- 2. 在c程序和C++ Qt应用程序之间使用什么Linux IPC?
- 3. 本机C/C++和C#(.NET)之间最轻的IPC解决方案是什么?
- 4. 什么是两个C#应用程序(32位和64位)之间的IPC的最佳方式
- 5. IPC与C++应用程序和其他应用程序之间的C + +和VB.Net
- 6. 在同一台机器上运行的Java和C++应用程序之间,IPC的最佳方法是什么?
- 7. 什么是.NET程序最快的IPC方法?
- 8. 在Java和C应用程序之间的IPC
- 9. 在C++和Java之间传输数据的最快方式是什么
- 10. 在长期运行的c进程和python之间进行双向IPC的最佳方式是什么?
- 11. 什么是在两个应用程序之间进行通信的最佳和最快的方式?
- 12. Qt和C/C++之间的IPC
- 13. 在C++中反序列化树的最快方式是什么?
- 14. 什么是C++和C#应用程序之间异步通信的最简单方法
- 15. IPC连接Qt4和Qt5过程的最佳方式是什么?
- 16. .NET与C++应用程序之间的IPC
- 17. C#应用程序之间的双向IPC
- 18. 规划和组织C应用程序开发的最佳方式是什么?
- 19. 应用程序之间的最快数据传输方式
- 20. Python和C++应用程序的简单但快速的IPC方法?
- 21. Python与C#之间的IPC
- 22. 在android应用程序之间传递数据的最佳方式是什么?
- 23. 与Windows应用程序之间进行通信的最佳方式是什么?
- 24. 在java和C++之间使用Socket for IPC的优缺点是什么?
- 25. C++和c之间进行通信的最快方法#
- 26. C#和C++应用程序之间的map和shared_ptr序列化?
- 27. BHO和服务之间的C#IPC
- 28. 使用IPC与Python和C#进行通信的最简单方法是什么?
- 29. 在我的C#应用程序中嵌入IronPython的最佳方式是什么?
- 30. 在Java应用程序中与Ogre(C++)接口的最佳方式是什么?
这个SO问题有关于在.NET中使用共享内存的信息:http://stackoverflow.com/questions/439787/how-to-implement-shared-memory-in-net如果进程在同一台机器上,很难获得比这更快的速度。 –