快速C ++数据到Java传输

时间:2011-09-24 01:53:09

标签: java c++ transfer

我正在尝试以有效的方式将字符串流从我的C ++程序传输到我的Java程序,但我不知道该怎么做。任何人都可以发布链接/解释如何实现这个的基本想法?

我正在考虑将我的数据写入文本文件,然后从我的Java程序中读取文本文件,但我不确定这是否足够快。我需要它,以便在16ms内传输一个字符串,这样我们就可以在一秒钟内将大约60个数据字符串传送到C ++程序。

3 个答案:

答案 0 :(得分:2)

文本文件可以在几毫秒内轻松地向上写入和读取60个字符串的内容。

一些替代方案,如果你发现你正在遇到时间问题:

使用套接字编程。 http://beej.us/guide/bgnet/output/html/multipage/index.html。 套接字应该足够快。

还有其他替代方案,例如tibco消息服务,它将比您需要的速度快一个数量级:http://www.tibco.com/

另一种选择是使用mysql表来传递数据,并且可能只是设置一个环境变量,以指示应该查询最近一个条目的表。

或者我想你可以只使用一个环境变量来传达所有的信息 - 60个字符串不是很多。

前两个选项是更受尊敬的解决方案。

答案 1 :(得分:0)

序列化: protobufs11n

答案 2 :(得分:0)

你做这件事的方式几乎就是这么快。一个文件可能是最慢的,它可能总共大约10毫秒!如果你还需要创建一个新的连接(它不是需要花费大部分时间的数据),Socket将是类似的。使用套接字具有发送者和接收者知道已经生成了多少数据的优点。如果您使用的是文件,则需要另一种方式来说,文件现已完成,您应该阅读它。例如套接字;)

如果C ++和Java处于同一个进程中,您可以使用ByteBuffer包装C数组并以大约1微秒的速度导入Java。