Amazon web services MATLAB:验证AWS的SSH隧道是否打开。

Amazon web services MATLAB:验证AWS的SSH隧道是否打开。,amazon-web-services,matlab,matlab-deployment,ssh-tunnel,Amazon Web Services,Matlab,Matlab Deployment,Ssh Tunnel,我正在使用MATLAB连接到AWS中托管的数据库(使用数据库工具箱)。为此,我将数据库的URL作为本地端口提供,并创建一个到AWS主机的SSH隧道 问题是需要创建此隧道才能运行代码。如果不是,则不会生成错误消息,但MATLAB会挂起并需要终止。我想将此代码部署到用户,如果缺少此隧道,这些用户将无法进行故障排除 我的问题是:有没有一种方法可以在MATLAB中检查本地端口是否打开?如何检查隧道是否已设置?我不熟悉Matlab的TCP对象,但有一个执行程序的系统命令,返回其退出代码。因此,可能需要一个

我正在使用MATLAB连接到AWS中托管的数据库(使用数据库工具箱)。为此,我将数据库的URL作为本地端口提供,并创建一个到AWS主机的SSH隧道

问题是需要创建此隧道才能运行代码。如果不是,则不会生成错误消息,但MATLAB会挂起并需要终止。我想将此代码部署到用户,如果缺少此隧道,这些用户将无法进行故障排除


我的问题是:有没有一种方法可以在MATLAB中检查本地端口是否打开?如何检查隧道是否已设置?

我不熟悉Matlab的TCP对象,但有一个执行程序的
系统
命令,返回其退出代码。因此,可能需要一个小程序或脚本(根据需要可移植),尝试连接到本地端口

或者,小程序/脚本可以实际打开(或重新打开)隧道,并在成功时返回
0
。(这可能会增加Matlab如何处理分叉过程的问题,我不知道它如何处理。)


可能有一些方法可以通过Matlab检查是否打开,如果没有内务管理,则重新打开,但我没有任何线索。

我不熟悉Matlab的TCP对象,但有一个
系统
命令执行程序,返回其退出代码。因此,可能需要一个小程序或脚本(根据需要可移植),尝试连接到本地端口

或者,小程序/脚本可以实际打开(或重新打开)隧道,并在成功时返回
0
。(这可能会增加Matlab如何处理分叉过程的问题,我不知道它如何处理。)


可能有一些方法可以通过Matlab检查是否打开,如果不打开则重新打开,但我没有任何线索。

因为您使用的是数据库工具箱,所以可能需要使用该函数。正如文件所说:

注意如果未指定logintimeout的值,并且MATLAB会话无法建立数据库连接,则您的MATLAB 会议可能会冻结


您可以将代码包装在try/catch块中

因为您使用的是数据库工具箱,所以可能需要使用该函数。正如文件所说:

注意如果未指定logintimeout的值,并且MATLAB会话无法建立数据库连接,则您的MATLAB 会议可能会冻结


您可以将代码封装在try/catch块中

我不熟悉数据库工具箱,但您不能使用Matlab()中的ssh直接与数据库通信吗?我不熟悉数据库工具箱,但您不能使用Matlab()中的ssh直接与数据库通信吗?谢谢,@Amro。这不完全是问题的答案,但它解决了我的问题。谢谢你,@Amro。这不完全是问题的答案,但它解决了我的问题。