Java app&C app集成/通信
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java app&C app集成/通信,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1427字,纯文字阅读大概需要3分钟。
内容图文
![Java app&C app集成/通信](/upload/InfoBanner/zyjiaocheng/783/2fa488b8bd5b418c87bfdb9123747899.jpg)
我们有两个代码库,一个用C(MS VS 6)编写,另一个用Java编写(JDK 6).
寻找创造性的方法让两人互相交谈.
更多细节:
两个应用程序都是GUI应用程
重大改写或翻译不是一种选择.
通信需要双向.
尽量避免涉及将文件写入磁盘的任何事情.
到目前为止,考虑的选项是:
>零MG
> RPC
> CORBA
> JNI
>将Java编译为本机代码,然后进行链接
本质上,除了最后一项之外,这可以归结为在Java应用程序和C应用程序之间实现进程间通信的各种方法之间的选择.仍然接受其他创意建议!
如果你曾尝试过这个或类似的东西,请提出你的建议,经验教训,避免陷阱等等.
毫无疑问,有人会很快指出,这个问题没有一个正确答案.我认为无论如何我都会利用SO社区的集体专业知识,并希望得到许多优秀的答案.
解决方法:
嗯,这取决于您希望这些应用程序的集成程度如何,以及您将来如何看待它们的发展.如果您只想在两者之间传递数据(例如,您希望一方能够打开另一方写入的文件,或直接从另一方读取流),那么我会说protocol buffers是您最好的选择.如果您希望其中一个GUI应用程序呈现的窗口实际嵌入到另一个GUI应用程序的面板中,那么您可能希望使用JNI方法.使用JNI方法,您可以使用SWIG来自动化大量的内容,尽管它具有危险的神奇功能并且带有许多警告(例如,它在功能重载方面做得不好).
我强烈建议不要使用CORBA,RMI和类似的远程过程调用实现,主要是因为根据我的经验,它们往往非常重,并且消耗大量资源.如果你确实想要类似于RMI的东西,我会建议你传递消息的重量较轻的东西,而不是实际的对象(如RMI的情况).例如,您可以使用协议缓冲区作为消息格式,然后只需在正常套接字之间来回串行化.
Kit Ho提到了XML或JSON,但协议缓冲区比这些格式中的任何一种都要高效得多,并且还具有直接内置于定义语言中的向后兼容性概念.
内容总结
以上是互联网集市为您收集整理的Java app&C app集成/通信全部内容,希望文章能够帮你解决Java app&C app集成/通信所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。