我有一个 Java 应用程序,通过 TCP 套接字连接到一个用 C/C + + 开发的“服务器”。
应用程序和服务器都运行在同一台机器上,一个 Solaris 机器(但我们正在考虑最终迁移到 Linux)。 交换的数据类型是简单的消息(登录,登录 ACK,然后客户端要求的东西,服务器答复)。每条消息大约300字节长。
目前我们正在使用 Socket,一切都很好,但是我正在寻找一种更快的方法来交换数据(更低的延迟) ,使用 IPC 方法。
我一直在研究网络,发现了以下技术:
但是我找不到对它们各自性能的适当分析,也找不到如何在 JAVA 和 C/C + + 中实现它们(这样它们就可以相互交流) ,除了我能想象如何做的管道。
在这种情况下,有人能评论每种方法的性能和可行性吗? 任何指向有用实现信息的指针/链接?
编辑/更新
在我得到的评论和回答之后,我找到了关于 Unix 域套接字的信息,它似乎是通过管道构建的,可以为我节省整个 TCP 堆栈。 它是特定于平台的,所以我计划用 JNI 或者 Juds或者 Junixsocket来测试它。
接下来可能的步骤是直接实现管道,然后是共享内存,尽管我已经被警告了额外的复杂程度..。
谢谢你的帮助