我有一个Java应用程序,通过TCP套接字连接到C / C ++开发的“服务器”。 应用程序和服务器都运行在同一台机器上,一个Solaris机器上(但我们正在考虑最终迁移到Linux上)。 交换的数据types是简单的消息(login,login确认,然后客户端要求某事,服务器答复)。 每条消息的长度大约为300个字节。 目前我们正在使用套接字,并且一切正常,但是我正在寻找一种使用IPC方法交换数据(更低的延迟)的更快方式。 我一直在研究networking,并提出了以下技术的参考: 共享内存 pipe道 队列 以及所谓的DMA(直接存储器存取) 但是我找不到适合自己的performance的分析,既没有用JAVA和C / C ++来实现它们,也没有我想象得到的pipe道。 任何人都可以在这方面评论每种方法的性能和可行性吗? 任何指针/链接到有用的实现信息? 编辑/更新 下面的评论和答案我在这里,我发现有关Unix域套接字的信息,这似乎是build立在pipe道,并将节省我整个TCP堆栈。 这是平台特定的,所以我打算用JNI或Juds或Junixsocket进行testing。 接下来可能的步骤是直接实现pipe道,然后共享内存,虽然我已经被警告复杂的额外水平… 谢谢你的帮助