问题标签 [omniorb]

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 回答
370 浏览

c++ - 如何在 Windows 上使用 mingw-w64 构建omniorb?

我需要你的帮助。我们在我们的项目中使用了 omniorb,但是在 Qt 4.8.1 的 Windows 上使用 mingw-w64 构建它时遇到了困难。你能告诉我你是怎么做到的吗?提前致谢。

0 投票
2 回答
360 浏览

php - 带有omniORB 库的PHP 扩展CORBA 客户端会出现运行时错误,并带有“未定义符号”

我们正在尝试在 C++ 中创建一个 PHP 扩展,它将作为 CORBA 客户端运行。

服务器端是用 Java 编写的。我们的运行环境是 CentOS 6.6。

我们使用omniORB 来编译IDL 并为客户端创建C++ 框架代码。我们的第一步是创建一个可以正常工作的客户端程序。然后,我们将该功能包含在一个 PHP 扩展中,该扩展可以编译和链接而不会出现任何错误。

然而,当我们的扩展库在 PHP 中安装和测试时,我们会收到以下错误:

PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/php_midas.so' - /usr/lib64/php/modules/php_midas.so: undefined symbol: _ZTv0ortableServer11ServantBase9_downcastEv in Unknown on line 0.

0 投票
1 回答
440 浏览

c++ - OmniORB C++ 客户端。无法连接到两个不同的服务器

我们正在使用omniORB 库开发一个C++ CORBA 客户端。

我们的应用程序需要连接到两个不同的服务器,每个服务器都托管在不同的机器上。为此,我们使用两个CORBA::ORB_ptr变量。有趣的是,当我们连接到一台服务器时,我们的程序似乎可以正常工作,但是当一个服务器ORB_ptr处于活动状态时,尝试连接到第二台服务器时会出现CosNaming::NamingContext::NotFound异常。

0 投票
3 回答
655 浏览

c++ - Maven NAR 插件:错误的链接库名称

我第一次使用 maven nar 插件在 C++ 中编译一系列 corba IDL 文件。我已经通过使用 exec 插件和omniidl 成功生成了存根和骨架,现在我在 src/ 下拥有所有 *.C 和 *.H 文件。

我们正在使用内部 Nexus 存储库来检索 NAR 依赖项,到目前为止,我设法编译了所有 *.o 文件。但是,链接器失败并显示以下消息:

问题是,例如文件夹

包含以下共享对象:

并且链接器尝试链接包含完整版本(依赖版本)的库名称

我的问题如下:

  1. 我可以假设包含共享对象的 Nexus 存储库中提供的 omniORB4 NAR 依赖项包含错误的 .so 名称吗?
  2. 有没有办法通过在链接器部分告诉 NAR 插件使用不同的库名称来链接来解决它?

这是配置 NAR 插件的 pom 部分:

谢谢。

0 投票
1 回答
109 浏览

erlang - 当由 TAO orb 抛出时,Orber (Erlang ORB) 无法捕获用户定义的异常

我有一个 C++ CORBA 服务器,它实现了一个抛出用户定义异常的接口。

当客户端和服务器都用 C++ 实现(使用 TAO orb 和 omniORB 进行测试)时,我很容易捕捉到特定的异常。

但是当我从 Erlang(使用 orber)调用相同的方法时,异常显示为通用异常,而不是特定的用户定义异常。

为了测试这一点,我只使用了一个简单的 IDL -

如果服务器和客户端都在 C++ 中 - 我得到的异常是(为了测试我将它编码为总是抛出用户异常)

但是当通过 Erlang 调用时 - 我得到 -

在说明 Orber 应用程序以启用正确的行为时,我是否需要做一些特别的事情?

编辑-这就是我从erlang调用服务器的方式-

在 Erlang 提示符下,这就是我所做的 -

0 投票
0 回答
170 浏览

c++ - CORBA OmniOrb-4.2.1:无法在 Windows 8 上编译

我正在 Windows 目标上安装omniOrb,以与 VS 2012 一起使用。

我遵循了 README.win32.txt (omniORB-4.2.1) 中的所有步骤。

但是我在编译时遇到错误。基本上在生成omnicpp.exe之后,make文件主要是针对omniidl.exe和其他库的。

因此,为了解决问题,我尝试构建单独的子目录。但是,在处理过程中,它需要缺少omniidl.exe。

以下是错误:

Omnicpp.exe已在之前的“make export”运行中创建。但是,不会创建其他 exe 和 lib 并退出,如上所示。

谁能帮我解决这个问题?

谢谢。

问候。

0 投票
1 回答
1417 浏览

c++ - CORBA omniORB 在解析名称上下文后无法获取远程对象

我有一个如下的 IDL

为此,我使用 idl2cpp 实用程序 (onmiORB) 生成了代理和骨架,并将生成的文件链接到服务器和客户端应用程序,如文档中建议的那样

然后我启动了名称服务 (omniNames) 并按照文档中的建议添加了注册表项 omniORB\InitRef,以便在不使用命令行参数的情况下连接服务器和客户端应用程序

下面是服务器代码

但是客户端的以下代码在名称上下文解析后返回 nil 对象。无法弄清楚问题。请帮忙!

UPDATE-5PM: 事实上,服务器端代码也有同样的问题 server->authenticate 由于没有引用而永远不会被调用。

猜测:使用 idl2cpp 工具生成的代理和存根会不会有问题?

UPDATE-7:30PM 存根不正确的歧义也消失了,在重新生成存根并再次重建客户端和服务器应用程序后问题仍然存在

更新 3-31|11AM 我正在​​使用超过 10 年的 omniORB 4.0.3。这在使用 VC6 编译的早期 Windows 操作系统版本中效果很好,我怀疑在 VS 2008 上重新编译时是否存在问题。只是想升级到去年发布的 ommiORB 4.2。就是一无所知...

更新 3-31|5:30PM 目前正在构建omniORB4.2.1 源代码。虽然我这样做了,但我仍然想知道链接旧系统中生成的 .lib 文件是否存在任何问题。在这种情况下,我在 Windows 7 中使用的 omniORB .lib 文件是在 Windows XP 上构建的,这会是一个问题吗?即使这篇文章也无法回答,我有一个旧的 .lib 编译和链接很好,没有任何问题,甚至运行时它也没有崩溃

UPDATE 4-01|4:30PM 实际上我注意到没有服务器在运行,我之前发布的服务器代码也是客户端,我现在更新了真实的服务器代码(将名称绑定到服务器 obj 的代码)。但即使经过这次更正,问题仍然存在

0 投票
1 回答
78 浏览

c++ - 向 omniorb 客户询问价值观

在这个论坛的一个帖子之后,我得到了本教程的解决方案:http ://www.yolinux.com/TUTORIALS/CORBA.html 但现在我想做更多的事情。我想为 2 个或更多玩家(客户)做某种游戏。但我不知道omniorb 是否允许我通过客户端程序发送值。游戏包括在客户端写一个类似“投掷”的评论并生成一个随机整数,如果总和=>60则获胜。我的问题基本上是客户端是否可以捕获键盘输入,以及它是否更有效地在客户端或其他类/文件中执行所有过程(生成随机和总和)。像往常一样提前谢谢你。干杯!

0 投票
1 回答
175 浏览

redhawksdr - 带有外部 10GigE 设备的机器上的设备管理器导致问题

我遇到的问题是,当我在远程 PC 上启动设备管理器并且我连接了具有 10GigE 端口的外部硬件设备时,来自设备管理器的 registerDevice 消息注册了连接的外部设备使用的 10GigE 接口的 IP 地址到设备管理器 PC 而不是设备管理器机器的实际 IP 地址。

网络设置:

如果我在没有连接到 PC2 的外部设备的情况下运行我的方案,则该机器上的设备管理器会使用 IP 地址注册:192.168.5.11。如果我将外部硬件连接到 PC2 并且 10GigE 接口上线,设备管理器使用 IP 地址注册:192.168.100.10 并且整个 REDHAWK 域挂起。

我通过查看 PC1 和 PC2 上的 wireshark 日志验证了这个问题。在连接具有 10GigE 端口的 UHD 设备以外的 UHD 设备时,我们没有遇到此问题。需要注意的是,此时实际上并未使用任何设备或设备管理器。设备刚上电,一个只有 GPP 的节点启动。在 UHD 和外部硬件案例中,两个 10GigE 端口都是定制的,并实现了有限的 10GigE 接口。当连接到具有 10GigE 的另一台 PC 而不是具有有限 10GigE 实现的设备时,设备管理器可以工作。

如果我在节点处于活动状态后连接 10GigE 设备,则 FE 2.0 设备可以正常工作。但是,这种情况对我们不起作用,因为实际走过去并打开设备电源对我们的用例无效。此外,使用在同一台计算机上启动的域上的设备运行不会出现这些问题。仅当域位于远程 PC 上时才会出现此问题。

我们目前正在使用以下 REDHAWK 版本,并且两者都有相同的问题。

CentOS 6.6 与 REDHAWK 2.0.3 和 OmniORB 4.1
Fedora 24 与 REDHAWK 2.0.3 和 OmniORB 4.2

有没有其他人遇到过这个问题,我能做些什么吗?

0 投票
1 回答
132 浏览

dns - Redhawksdr 连接本地域失败

尝试连接时出现以下错误

无法连接到域:REDHAWK_DEV org.eclipse.core.runtime.CoreException:执行可调用时出错。由 org.omg.CosNaming.NamingContextPackage.NotFound 引起:IDL:omg.org/CosNaming/NamingContext/NotFound:1.0

我试过了

$节点引导程序-D

分段错误(核心转储)

并且

$ 清洁

sh:1:/etc/init.d/omniNames:未找到

我在 Ubuntu 14.04.5 64bit 和 redhawk-src-2.0.3 有什么解决方案吗?