问题标签 [opensplice]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
140 浏览

data-distribution-service - OpenSplice:创建参与者失败

我构建了 OpenSplice 库的静态版本,但在使用它时遇到了麻烦。我对 create_participant() 的调用返回 NULL:

文件 ospl-error.log 的输出是:

我认为我的配置文件是正确的,因为当我使用共享/动态 OpenSplice 库运行时,我的示例程序可以正常工作。我不明白有关“OpenSpliceDDS 未运行”的评论。可能是什么问题呢?如果不共享代码(很长),是否有人对可能导致问题的原因有任何好的线索?

0 投票
1 回答
140 浏览

c++ - OpenSpliceConfig.cmake or opensplice-config.cmake not found while building dds-tutorial-cpp-ex

I am trying to learn dds. According to the tutorial, Appendix 1 suggests to look at examples on provided in github called dds-examples-cpp-ex.

The simple commands to build this examples according to readme is cmake . && make

I execute the command

from the cmake directory of this folder after cloning it on my local machine

I get the following error:

I tried to locate OpenSpliceConfig.cmake && opensplice-config.cmake on my system but I did not get any result.

My question is how can I correct the paths or fix this error?

I have OpenSplice running on my local machine and I have executed other examples directly from $OSPL_HOME/opensplice/dcps/Tutorial. and they work fine.

I also tried to build ch1. I edited the second line in ch1/CMakeLists.txt from

to

so that it can find cmake folder in the root directory where CMakeLists.txt resides.

I run into the same problem when I execute the following:

0 投票
0 回答
48 浏览

data-distribution-service - 如何编译 OpenSplice Hello World 示例?

OpenSplice 源代码附带了几个示例,包括 C++ 中的 Hello World。该文档指出:

我在示例目录中找不到任何生成文件。我查看了:opensplice_cpp/6.9/install/HDE/x86_64.linux/examples。

如何编译 Hello World 和其他示例?

0 投票
1 回答
196 浏览

python - 如何使用 python 和静态创建的主题类创建 OpenSplice DDS 主题?

我一直在尝试在 Ubuntu 20.04.2 LTS 上使用凌华科技的Vortex OpenSplice 社区版和 Python API(PyEnv 虚拟环境中的 Python 版本 3.6)。我遵循了PythonDCPSAPIGuide并让 ($OSPL_HOME/tools/python/examples) 中的 python 示例正常工作。但是,我无法弄清楚如何使用idlpp. 我怎么能做到这一点?

到目前为止我做了什么:

我有一个 IDL 文件,其中包含许多其他 IDL 文件的路径。我已使用以下 bash 脚本将这些 IDL 文件转换为 python 主题类:

这将创建一系列 python 包(python 主题类),我将它们导入到同一目录中的 python 脚本中。

使用这些包,我想在我的 python 脚本中创建或注册一个域参与者的主题。例如下面的 python 代码,(但是'create_topic'函数不存在):

这可能吗?如果可以,我将如何注册一个我用python中的域参与者静态创建的主题?


我注意到在提供的 python 示例(例如 $OSPL_HOME/tools/python/examples/example1.py)中,使用下面的代码动态注册了一个主题,但我认为这与静态生成的 python 主题类无关:

我在源代码中也看不到相关功能。

如果这是一个简单的问题,或者我错过了什么,我深表歉意——我对 Vortex OpenSplice DDS 非常陌生。

任何帮助,将不胜感激。

0 投票
1 回答
45 浏览

c# - Opensplice - 从本地参与者获取 C# 中的 nodeId

我正在使用 DCPSParticipant 内置主题来检索有关域上参与者的信息(我正在使用 C#)。

示例中,收到的样本包含节点标识,可以通过以下方式访问:

现在,我想从本地创建的参与者那里获得相同的 ID。目标是将本地参与者与ParticipantBuiltInTopicData相关联。

在 RTI 中,我们可以通过其实例句柄获取参与者的 GUID(参见这篇文章),但是我无法在 C# 中复制它。

如何从本地参与者那里获取 nodeID?

或者,我可以获得本地参与者的 GUID 吗?

0 投票
1 回答
49 浏览

c++ - 程序需要 5 秒才能终止。调试工具?

我使用 Opensplice DDS 6.7 创建了一个工具来创建阅读器,等待回调在读取的消息上执行,并打印消息的值。我们将 Google Protobuf 用于我们的消息结构。打印消息的值并执行return 0;后,程序需要将近 5 秒才能真正终止。

单步执行 GDB 可以看到对 Protobuf 中的析构函数的许多调用以及来自 opensplice 的线程连接。是否有 unix 工具或 GDB 工具来分析线程/函数的挂钟执行时间或函数被调用的次数,以帮助缩小导致破坏挂起的库或包装器的范围?