Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
快速C++;数据到Java的传输 我试图用有效的方式将我的C++程序中的字符串流传送给java程序,但我不知道如何做。任何人都可以发布链接/解释如何实现这一点的基本想法吗_Java_C++_Transfer - Fatal编程技术网

快速C++;数据到Java的传输 我试图用有效的方式将我的C++程序中的字符串流传送给java程序,但我不知道如何做。任何人都可以发布链接/解释如何实现这一点的基本想法吗

快速C++;数据到Java的传输 我试图用有效的方式将我的C++程序中的字符串流传送给java程序,但我不知道如何做。任何人都可以发布链接/解释如何实现这一点的基本想法吗,java,c++,transfer,Java,C++,Transfer,我曾考虑将数据写入文本文件,然后从Java程序中读取文本文件,但我不确定这是否足够快。我需要它,这样一个字符串可以在16Ms中传输,这样我们就可以在一秒钟内把60个数据串传送到C++程序中。< P>文本文件可以在60毫秒内用很高的字符串来写入和读取。 如果您发现自己在计时方面遇到了问题,可以选择以下几种方法: 使用套接字编程。 插座应该足够快 还有其他替代方案,如tibco消息服务,其速度将比您需要的快一个数量级: 另一种选择是使用mysql表来传递数据,并可能只设置一个环境变量,以指示应查询表

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

< P>文本文件可以在60毫秒内用很高的字符串来写入和读取。 如果您发现自己在计时方面遇到了问题,可以选择以下几种方法:

使用套接字编程。 插座应该足够快

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

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

或者我想您可以使用一个环境变量本身来传递所有的信息——60个字符串并不多

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

序列化:
或者

几乎任何你这样做的方式都会这么快。一个文件可能是最慢的,它的总速度可能在10毫秒左右!。如果您还必须创建一个新的连接(它是连接,而不是占用大部分时间的数据),那么套接字将与此类似。使用套接字的优点是发送方和接收方都知道产生了多少数据。如果你使用一个文件,你需要另一种方式说,文件现在已经完成了,你应该阅读它。e、 g.插座;)


<>如果C++和java在同一个进程中,你可以使用ByteBuffer来封装C数组,并在大约1微秒内导入到java中。例如,通过使用标准输入和标准输出。您是否知道Tibco使用什么操作系统工具来执行IPC?对于文本文件,您将如何确保写保护?这样写的时候就不会读了?它是由操作系统自动完成的吗?我相信他们的一些产品使用共享内存。除此之外,我不知道。Andrew,操作系统不会使交互具有事务性(数据库解决方案避免了这个问题)。也就是说,您可以添加一个特殊字符串来指示写入已完成。另一种选择是boost::filesystem,它可以告诉您文件的最后修改时间。您可以强制执行与当前时间的间隔。@DoleteBob您有信心在延迟约15毫秒的HDD上写入文件将在不到1毫秒的时间内完成吗?如果文件真的必须被写入磁盘(不进行缓存),我认为这是不太可能的。我会使用套接字来实现这类功能——比共享内存简单得多,而且在任何现代操作系统上都应该进行充分优化。如何使用ByteBuffer呢?你能提供一个链接吗?我想你指的是比Javadoc更具体的东西。如果是,你有什么想法?顺便说一句,从那时起,我写了一个图书馆,这是这个策略的延伸