我想从我的C++程序以有效的方式传递字符串流到我的Java程序,但我不知道如何做到这一点。任何人都可以发布链接/解释有关如何实现这一点的基本想法?快速C++数据到Java传递
我想我写数据到一个文本文件,然后从我的Java程序读取文本文件,但我不知道,这将是速度不够快。我需要它,以便可以在16ms内传输一个字符串,以便我们可以在一秒钟内将约60个数据字符串传送到C++程序。
我想从我的C++程序以有效的方式传递字符串流到我的Java程序,但我不知道如何做到这一点。任何人都可以发布链接/解释有关如何实现这一点的基本想法?快速C++数据到Java传递
我想我写数据到一个文本文件,然后从我的Java程序读取文本文件,但我不知道,这将是速度不够快。我需要它,以便可以在16ms内传输一个字符串,以便我们可以在一秒钟内将约60个数据字符串传送到C++程序。
文本文件可以很容易地写入和价值的内容与向上60串在仅仅几毫秒读取。
一些替代品,如果你发现你正在运行到反正定时的烦恼:
使用套接字编程。 http://beej.us/guide/bgnet/output/html/multipage/index.html。 套接字应该足够快。
还有其他的替代品,如TIBCO消息服务,这将是一个数量级比你所需要的速度更快:http://www.tibco.com/
另一种方法是使用一个MySQL表来传递数据,并有可能只需设置一个环境变量,以表明应该查询最近条目的表格。
或者我想你可以只使用一个环境变量本身传达的所有信息的 - 60个字符串不是很多。
前两个选项是更体面的解决方案虽然。
差不多你这样做的任何方式将是快。一个文件可能是最慢的,它可能总共大约10ms!如果你还必须创建一个新的连接(它是连接,而不是最耗时的数据),那么套接字也是类似的。使用套接字的优点是发送方和接收方知道已经产生了多少数据。如果您使用的是文件,则需要另一种说法,文件现在已完成,您应该阅读它。例如的插座;)
如果C++和Java是在相同的过程中,可以使用的ByteBuffer包裹C数组和导入到Java在大约1微秒。
如何到ByteBuffer的事情?你能提供一个链接吗? –
我认为你的意思是比Javadoc涵盖的内容更具体。 https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html如果是这样,你有什么想法?顺便说一句,从那时起我写了一个图书馆,这是这个战略的延伸https://github.com/OpenHFT/Chronicle-Bytes –
为什么不简单地通过套接字流数据?例如使用标准输入和标准输出。 –