主要内容

马铃薯COM自动化服务器接口

COM服务器类型

  • 自动化 - 支持OLE自动化标准的服务器。万博1manbetx自动化服务器基于分发接口所有类型的客户端,包括脚本客户端、访问自动化服务器。

  • 自定义-实现直接从中派生的接口的服务器Iunknown.。马铃薯®不支持自定义接口。万博1manbetx

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

程序标识符

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

共享服务器的Matlab ProgIDS是:

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

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

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

专用服务器的ProgID为:

  • matlab.application.single.

  • Matlab.Autoserver.Single

这些版本独立MATLAB ProgID指定当前注册的MATLAB版本。

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

共享和专用服务器

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

启动共享服务器

翻译,matlab.1的应用,指定共享的默认模式。您还可以使用特定于版本的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支万博1manbetx持这些服务器配置。

流程服务器

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

本地进程外服务器

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

远程流程服务器

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

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

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

相关话题