我如何利用MATLAB在远程机器上作为分布式COM (DCOM)服务器吗?

65(30天)
我有两台机器,一个客户机和一个服务器通过网络连接,安装了MATLAB。对于这个特殊的情况,客户端机器64位MATLAB 7.13 (R2011b)和服务器机器32位MATLAB 7.12 (R2011a)。
我想从客户端调用服务器和利用MATLAB MATLAB使用COM接口(称为DCOM应用在远程机器上)。
我怎么能这样做呢?

接受的答案

MathWorks支万博1manbetx持团队
之前设置2 MATLAB之间的通信过程使用DCOM接口,请注意,大多数用例更容易解决一般的COM接口,在2 MATLAB程序运行在同一台机器上相互通信。
如果运行的MATLAB流程需要两个单独的机器上,遵循下面的说明。
是可能的MATLAB通过DCOM在远程机器上运行。要做到这一点,三个需求是必要的:
1。必须设置适当的DCOM安全设置,在两台机器上。要做到这一点,遵循的步骤:
打开开始菜单。
搜索“dcomcnfg”击中输入。
c。右键单击dcomcnfg结果出现,并作为管理员运行。这将打开“组件服务”窗口。
d。左边的窗格中,展开“组件服务”。
e。扩大“电脑”。
f。右键单击“我的电脑”,进入“属性”。
g。打开“默认属性”选项卡。
h。确保这台计算机上启用分布式COM的检查。
我。确保“默认的身份验证级别”是“连接”。
j。确保“默认的模拟级别”是“识别”。
k。打开“COM安全性”选项卡。
l。在“访问权限”部分中,打开“编辑默认……”对话框中,确保管理员允许本地访问和远程访问。
m。在“启动和激活权限”部分中,打开“编辑默认……”对话框中,确保允许管理员拥有所有权限。
所有的对话框上的n。点击确定。
o。在“组件服务”窗口的左窗格中,展开“我的电脑”,然后展开“DCOM配置”。
p。寻找“Matlab。应用程序(x.x版)的x。x是你想使用的版本(客户端和服务器可以是不同的),右击和开放”在弹出的菜单”。
q。在“通用”选项卡下,确保“身份验证级别”是“默认”。
r。在“安全”选项卡中,确保“启动和激活权限”和“访问权限”设置为“使用默认”。
年代。在“身份”选项卡,设置“启动用户”。
t。点击确定并关闭“组件服务”窗口。
在两台机器上重复上述步骤。
2。用户需要登录到客户端和服务器,两台机器需要有管理员权限。
3所示。用户必须有MATLAB许可证在两台机器上他们的名字。换句话说,许可证必须有某种形式的命名用户许可,识别用户。因此,审判或指定计算机许可证不工作。如果你有可用的许可证,但不是在目标机器上,您可以激活你的MATLAB安装在适当的指定用户许可。
一旦满足上述需求,您可以从客户端启动服务器MATLAB MATLAB客户通过输入以下命令:
matlabHandle = actxserver (“Matlab.Application.7.12”,“ServerComputerName”);
ServerComputerName在哪一个字符串代表服务器计算机名或IP地址。请注意,如果您有多个MATLAB安装在客户端机器上,服务器可能会捡起任何可用MATLAB,满足版本信息。例如,如果您指定ProgID的Matlab。应用程序,它可能会捡起任何可用MATLAB。如果ProgID Matlab.Application.7.12,它会捡起64位或者32位版本的MATLAB 7.12 (R2011a)。没有特定的方法来设置架构捡起,除了卸载多余的MATLAB,因此只有一个版本的存在。
与COM交互在本地机器上,注册一个特定的MATLAB作为一个自动化服务器客户端机器没有影响DCOM。注意,也不像本地COM,远程DCOM不会开始一个会话在客户端机器上可见。
故障排除错误:
1。
错误使用函数宏指令
服务器创建失败:访问被拒绝。
可能的原因:
DCOM安全设置不正确。
b。用户没有管理员权限上的机器。
2。
错误使用函数宏指令
服务器创建失败:非法操作尝试注册表键已经被标记为删除。
可能的原因:
用户没有登录到客户端机器。
3所示。
错误使用函数宏指令
服务器创建失败:服务器执行失败
可能的原因:
客户端MATLAB没有指定用户许可的权利。
1评论
前来Sleiman
前来Sleiman 2016年3月23日
麻烦拍# 3,“对指定的用户许可”是什么?我被告知actxserver不是与PCT。需要什么许可证或工具箱来执行此操作吗?

登录置评。

答案(1)

迈克尔
迈克尔 2014年8月22日
你好,
有什么方法如果用户不是管理员在远程机器上?
谢谢!
1评论
Enkh
Enkh 2015年6月17日
应该是可能的如果你给适当的权限在DCOM安全设置特定的用户。上面的例子只是面向管理员,因为它需要最少的更改默认设置。

登录置评。

s manbetx 845


释放

R2012a

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!