[英]MATLAB: Verify if a SSH tunnel to AWS is open.
我正在使用MATLAB連接到AWS托管的數據庫(使用數據庫工具箱)。 為此,我提供數據庫的URL作為本地端口,並創建到AWS主機的SSH隧道。
問題是需要創建此隧道才能運行代碼。 如果不是,則不會生成任何錯誤消息,但是MATLAB將掛起並需要終止。 我想將此代碼部署給無法丟失此隧道的用戶。
我的問題是:有沒有一種方法可以檢查MATLAB中的本地端口是否打開? 我如何檢查隧道是否已建立?
由於您正在使用數據庫工具箱,因此您可能需要使用logintimeout函數。 如文檔所述:
注意如果未為logintimeout指定值,並且MATLAB會話無法建立數據庫連接,則MATLAB會話可能會凍結。
然后將代碼包裝在try / catch塊中
我不熟悉Matlab的TCP對象,但是有一個system
命令可以執行程序,並返回其退出代碼(請參閱其文檔) 。 因此,可能會做的工作是嘗試連接到本地端口的小型程序或腳本(根據需要可移植)。
或者,小程序/腳本實際上可以打開 (或重新打開)隧道,並在成功時返回0
。 (這可能會增加Matlab如何處理派生過程的問題,我不知道它是如何處理的。)
可能有某種方法可以檢查是否打開,如果沒有則通過Matlab進行重新打開 ,但是我不知道。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.