我已經成功地使用python腳本在單個主機上運行的應用程序上運行的應用程序的外部端口使用component.connect(provides-component>,providePortName =「portName」) 但我現在想要部署一個應用程序在不同的主機上,但我得到一個錯誤。我使用nodeBooter啓動遠程域和節點,並且可以使用本地python來控制它並啓動波形並啓動它,但是如果我在Uses端口主機上運行python,則它不能redhawk.attach()到提供端口主機上的域。錯誤是StandardError:沒有找到域。該域正在其他主機上運行,並且nameclt列表會看到它,因此命名服務已正確連接。這應該是可能的,我只是想念一些東西,或者有不同的主機上的域之間的外部連接有問題嗎?如何使用python連接在不同主機上運行的應用程序的外部端口?
0
A
回答
2
我打算使用docker來模擬你的環境。希望我正確理解你的情況。我有3臺機器。 A,B和C.每個A和B都有自己的域,GPP和運行波形。在我的情況下,A和B是碼頭集裝箱。 C將用於與A和B進行連接並與之交互。
這些圖片是公開的,所以如果你已經安裝了docker,可以隨時關注。
機A(IP地址172.17.0.3)
# Launch our 2.0.2 container
[[email protected]]$docker run -it --rm axios/redhawk:2.0.2 bash -l
# Install a test waveform
[[email protected] ~]$ sudo yum install -y rh.FM_mono_demo
# Start the omni services
[[email protected] ~]$ sudo $OSSIEHOME/bin/cleanomni
# Start domain and dev manager
[[email protected] ~]$ nodeBooter --daemon -D
[[email protected] ~]$ nodeBooter --daemon -d $SDRROOT/dev/nodes/DevMgr_12ef887a9000/DeviceManager.dcd.xml
# Launch the waveform via python
[[email protected] ~]$ python
>>> from ossie.utils import redhawk
>>> dom = redhawk.attach()
>>> app = dom.createApplication('/waveforms/rh/FM_mono_demo/FM_mono_demo.sad.xml')
我們做計算機B,誰的IP被賦予爲172.17.0.2完全相同的步驟。確保不要關閉或退出這些終端,將它們留在python外殼中。
現在在主機C上,我們可以跳入python,連接到每個域,並建立連接。
[[email protected]]$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運行到PSD部件上機B.
運行TFD元件+0
謝謝。我的問題是與主機地址附加的可選參數。現在它工作正常。 –
相關問題
- 1. 在虛擬主機上運行nodejs應用程序,在不同端口監聽
- 2. 如何在不同的端口上運行Python Eve應用程序
- 3. 如何將JProfiler連接到在本地主機上運行的應用程序?
- 4. Jboss-如何在不同的端口上運行多個web應用程序
- 5. 應用程序是否使用相同的端口號或不同的端口進行併發連接?
- 6. 無法在不同的端口上運行虛擬主機
- 7. 如何整合不同的端口使用不同的端口上運行Vue.js乾脆上運行Node.js的?
- 8. 如何在不同的端口上提供Ionic應用程序?
- 9. 如何將angular2的http與除應用程序主機端口之外的其他端口一起使用?
- 10. 如何在使用不同端口的相同服務器上運行多個跨平臺Web應用程序?
- 11. C#應用程序不在不同的機器上運行
- 12. 在主要主機上使用外部(PyPi)包部署python 2.7應用程序的適用性
- 13. 如何在同一服務器的不同端口上運行不同的Web應用程序?
- 14. 使用https與在同一主機上運行的解耦前端和後端MEAN應用程序
- 15. 如何在tomcat中部署多個web應用程序,並運行在不同的端口上?
- 16. 如何在不同的端口運行節點應用程序 - 暫時?
- 17. 如何從同一網絡上的手機使用本地主機上運行的Meteor應用程序?
- 18. 如何獲取Rails應用程序中的主機和端口
- 19. 如何在應用程序在主窗口上運行時使用新的nib文件加載應用程序
- 20. 在nodejs express框架的不同端口上運行多個應用程序
- 21. 如何使用Web部署在本地主機上部署多個站點並使用不同的端口
- 22. Web應用程序不在端口80上運行,但在4200上運行
- 23. Java:如何使jvm和http monitor在同一臺機器上運行在外部的應用程序安全?
- 24. 如何在不同端口後面的單個Tomcat實例上運行不同的應用程序?
- 25. 使用PHP在外部服務器上運行應用程序
- 26. 特定端口上的VSCode主機.NET Core應用程序
- 27. 如何在外部主機(不是本地主機)上連接Android
- 28. 客戶端套接字應用程序如何識別同一臺主機上的服務器應用程序
- 29. 如何使用Android/Java應用程序連接在Amazon EC2上運行的MySQL?
- 30. 服務器代理正在linux機器上運行服務正在不同的端口上運行我們如何獲得不同端口上使用的CPU?
對不起 - 有些問題掉了一半以上。我會重新輸入。 –