我需要使用本地C ++(.NET不适用)为进程(在整个机器上)实现进程间通信系统。更详细地说,我正在考虑使用二进制格式的消息在进程之间建立消息路由系统。消息的发送/接收必须是异步的。 TCP套接字可能是其中之一的选择。但是,我想知道是否有更好的选择以获得更高的性能。(我可以忽略安全问题。) 我不要求详细的代码,只需要您的见解。
你也应该看一下命名管道: http://msdn.microsoft.com/en-us/library/aa365590%28v=vs.85%29.aspx。我也知道内存映射文件用于IPC: http://msdn.microsoft.com/en-us/library/ms810613.aspx,但我个人从未尝试过。我在单机IPC策略中同时使用了NamedPipes和Socket,但是我坦白地说,我从未测量过两种方法之间的性能差异,或者至少我没有注意到如此大的差异,以至于可以说“避免这个…”或“更喜欢这个…”。也许从你更自信的技术开始会给你一个良好的工作结果,以及更多的自由时间;)