主要内容

马铃薯COM自动化服务器界面

COM服务器类型

  • 自动化 - 支持OLE自动化标准的服务器。金宝app自动化服务器基于idispatch.界面。所有类型的客户端,包括脚本客户端,访问自动化服务器。

  • 自定义 - 实现直接派生的接口的服务器Iunknown.。马铃薯®不支持自定义接口。金宝app

  • 双重 - 实现自动化和自定义接口组合的服务器。

程序标识符

要创建COM对象的实例,请使用其编程标识符或翻译。ProgID是由组件供应商定义的唯一字符串以标识COM对象。您可以从供应商文档中获取ProgID。

共享服务器的Matlab ProgIDS是:

  • matlab.Application.- 使用最近用作自动化服务器的MATLAB版本的命令窗口自动化服务器(可能不是最新安装的MATLAB版本)

  • matlab.autoserver- 使用最新版本的MATLAB启动命令窗口自动化服务器

  • matlab.desktop.Application.- 使用最新版本的MATLAB启动完整的桌面MATLAB作为自动化服务器

专用服务器的ProgIDS是:

  • matlab.application.single.

  • matlab.autoserver.single.

这些版本独立matlab progids指定了当前注册的matlab版本。

要创建特定的已注册的MATLAB版本的实例,可以使用a版本依赖progid。例如,matlab.application.7.14创建MATLAB版本7.14(R2012A)的实例。

共享和专用服务器

您可以以两种模式之一启动MATLAB自动化服务器 - 共享或专用。专用服务器专用于单个客户端;共享服务器由多个客户端共享。该模式由客户端用于启动MATLAB的程序化标识符(PROGID)确定。如果你使用matlab.Application.作为您的ProgID,Matlab创建共享服务器。

启动共享服务器

翻译,matlab.Application.,指定已共享的默认模式。您还可以使用特定于Version的ProGID,matlab.application.n.m., 在哪里N是主要版本和m是matlab的次要版本。例如,使用N=7.m=4.对于matlab 7.4版。

一旦MATLAB启动为共享服务器,就使用共享服务器ProGID连接到MATLAB的已运行实例,所有客户端都请求连接到MATLAB。换句话说,从未多于一个共享服务器运行的实例,因为它由使用共享服务器ProGID的所有客户端共享。

启动专用服务器

要指定专用服务器,请使用progid,matlab.application.single.(或特定于文的progid,matlab.application.single.n.m.)。

请求使用专用ProgID连接到MATLAB的每个客户端创建一个单独的MATLAB实例;它还请求与任何其他客户端不共享服务器。因此,可以同时运行的专用服务器的若干实例,因为专用服务器不被多个客户端共享。

流程和处理外服务器

MATLAB支金宝app持这些服务器配置。

流程服务器

进程内服务器是实现为动态链接库(DLL)的组件,其在与客户端应用程序相同的过程中运行,共享地址空间。客户端和服务器之间的通信相对速度且简单。

本地外汇服务器

局部外汇服务器是实现为可执行文件的组件(可执行程序)从客户端应用程序中运行的文件。客户端和服务器进程位于同一计算机系统上。由于在跨处理边界传输数据时所需的开销,此配置慢。

远程流程服务器

分布式组件对象模型(DCOM)是允许通过网络建立COM连接的协议。如果您使用的是Windows的版本®支持DCOM和支持DCOM的控制器的操作系统金宝app,然后您可以使用控制器在远程计算机上启动MATLAB服务器。DCOM必须正确配置,并且必须在用作客户端或服务器的每台计算机上安装MATLAB。即使客户端计算机可能无法在这样的配置中运行MATLAB,客户机必须具有MATLAB安装,因为需要某些MATLAB组件来建立远程连接。请参阅DCOM文档,了解如何为您的环境配置DCOM。

网络通信,除了数据传输所需的开销之外,可以使该配置慢于本地流程配置。

有关更多信息,请参阅这些文章。

相关话题