Redhawksdr 如何使用python连接在不同主机上运行的应用程序的外部端口?

Redhawksdr 如何使用python连接在不同主机上运行的应用程序的外部端口?,redhawksdr,Redhawksdr,我使用python脚本uses component.connect(提供component>,providesPortName=“portName”)成功地连接了单个主机上不同域和节点上运行的应用程序的外部端口 但是我现在想在不同的主机上部署一个应用程序,但是我得到了一个错误。我使用nodeBooter启动远程域和节点,可以使用本地python来控制它,启动波形并启动它,但如果在Uses端口主机上运行python,则无法将redhawk.attach()发送到端口主机上的域。错误为Standar

我使用python脚本uses component.connect(提供component>,providesPortName=“portName”)成功地连接了单个主机上不同域和节点上运行的应用程序的外部端口
但是我现在想在不同的主机上部署一个应用程序,但是我得到了一个错误。我使用nodeBooter启动远程域和节点,可以使用本地python来控制它,启动波形并启动它,但如果在Uses端口主机上运行python,则无法将redhawk.attach()发送到端口主机上的域。错误为StandardError:未找到域。域正在另一台主机上运行,nameclt列表会看到它,因此命名服务连接正确。这应该是可能的,而我只是缺少了一些东西,或者在不同主机上的域之间建立外部连接有问题吗?

我将使用docker来模拟您的环境。希望我正确地理解了你的处境。我有三台机器。A、 A和B各自有自己的域、GPP和运行波形。在我的例子中,A和B是docker容器。C将用于与A和B进行联系,并与A和B进行互动

[ylb@axios]$python
>>> from ossie.utils import redhawk
>>> dom1 = redhawk.attach('REDHAWK_DEV', '172.17.0.3')
>>> dom2 = redhawk.attach('REDHAWK_DEV', '172.17.0.2')
>>> app1 = dom1.apps[0]
>>> app2 = dom2.apps[0]
>>> app1.comps[0].name
'rh.TuneFilterDecimate'
>>> tfd1 = app1.comps[0]
>>> app2.comps[1].name
'rh.psd'
>>> psd2 = app2.comps[1]
>>> tfd1.connect(psd2)
这些图片是公开的,所以如果您安装了docker,请随时关注

机器A(IP地址172.17.0.3)

我们对机器B执行完全相同的步骤,机器B的IP为172.17.0.2。确保不要关闭或退出这些终端,将它们保留在pythonshell中

现在在主机C上,我们可以跳入python,连接到每个域,并建立连接

[ylb@axios]$python
>>> from ossie.utils import redhawk
>>> dom1 = redhawk.attach('REDHAWK_DEV', '172.17.0.3')
>>> dom2 = redhawk.attach('REDHAWK_DEV', '172.17.0.2')
>>> app1 = dom1.apps[0]
>>> app2 = dom2.apps[0]
>>> app1.comps[0].name
'rh.TuneFilterDecimate'
>>> tfd1 = app1.comps[0]
>>> app2.comps[1].name
'rh.psd'
>>> psd2 = app2.comps[1]
>>> tfd1.connect(psd2)

所以我们有3台机器,A、B和C。A和B各自运行一个波形,我们从机器C将机器A上运行的TFD组件连接到机器B上运行的PSD组件。

我将使用docker模拟您的环境。希望我正确地理解了你的处境。我有三台机器。A、 A和B各自有自己的域、GPP和运行波形。在我的例子中,A和B是docker容器。C将用于与A和B进行联系,并与A和B进行互动

[ylb@axios]$python
>>> from ossie.utils import redhawk
>>> dom1 = redhawk.attach('REDHAWK_DEV', '172.17.0.3')
>>> dom2 = redhawk.attach('REDHAWK_DEV', '172.17.0.2')
>>> app1 = dom1.apps[0]
>>> app2 = dom2.apps[0]
>>> app1.comps[0].name
'rh.TuneFilterDecimate'
>>> tfd1 = app1.comps[0]
>>> app2.comps[1].name
'rh.psd'
>>> psd2 = app2.comps[1]
>>> tfd1.connect(psd2)
这些图片是公开的,所以如果您安装了docker,请随时关注

机器A(IP地址172.17.0.3)

我们对机器B执行完全相同的步骤,机器B的IP为172.17.0.2。确保不要关闭或退出这些终端,将它们保留在pythonshell中

现在在主机C上,我们可以跳入python,连接到每个域,并建立连接

[ylb@axios]$python
>>> from ossie.utils import redhawk
>>> dom1 = redhawk.attach('REDHAWK_DEV', '172.17.0.3')
>>> dom2 = redhawk.attach('REDHAWK_DEV', '172.17.0.2')
>>> app1 = dom1.apps[0]
>>> app2 = dom2.apps[0]
>>> app1.comps[0].name
'rh.TuneFilterDecimate'
>>> tfd1 = app1.comps[0]
>>> app2.comps[1].name
'rh.psd'
>>> psd2 = app2.comps[1]
>>> tfd1.connect(psd2)

因此,我们有3台机器,A、B和C。A和B各自运行一个波形,我们从机器C将机器A上运行的TFD组件连接到机器B上运行的PSD组件。

对不起,问题的一半都有问题。我会重新输入的。对不起,问题的一半被遗漏了。我会重新进入的。谢谢。我的问题是附加到主机地址的可选参数。现在好了,谢谢。我的问题是附加到主机地址的可选参数。现在它工作得很好。