栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

C ++和Java之间的低延迟IPC

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C ++和Java之间的低延迟IPC

我建议您使用 TCP套接字

根据我的经验,与应用程序的其他任务的工作量相比,TCP套接字的实际开销非常低,至少是我用来开发的任务。我的意思是,即使套接字的延迟是其他IPC机制的延迟的两倍,在整个工作流程中,它们的影响也很小。而且,它省去了在Java应用程序和C
++应用程序之间进行IPC的麻烦,最终将需要您使用使用JNI的特定Java库,而这需要JNI和该库本身的开销。

实际上,在Java应用程序中,我已经测量到,垃圾收集器的影响比“ 回送 ” TCP套接字造成的延迟要重要得多。

而且,TCP套接字比传统IPC具有更高的可伸缩性(和可移植性!)。如果将来您必须在不同的计算机上运行客户端和服务器怎么办?在“
TCP套接字”方案中,您必须进行5分钟的破解,在“传统IPC”方案中,您必须重写整个IPC内容。

但是,您的应用程序的一般工作流程是什么?

即使不需要确认,我还是建议您使用TCP(而不是UDP)来避免未分类的传递(这会在重新排列您收到的内容时造成麻烦—您的某些消息为100KB,不适用于UDP数据包)。

为了回答您的最后一个问题,要让服务器通知客户端有关端口的信息,您可以使服务器使用特定的“ port”命令行参数启动客户端,或者使服务器在/
tmp下保存一个小文件(或另一个临时目录),端口号写在里面。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/419738.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号