Поддерживаемые Клиент-серверные Настройки

Можно сконфигурировать MATLAB®, чтобы или управлять или управляться другими COM-компонентами. Когда MATLAB управляет другим компонентом, MATLAB является клиентом, и другой компонент является сервером. Когда другой компонент управляет MATLAB, MATLAB является сервером.

Клиент-сервер MATLAB и внутрипроцессорный сервер

Следующая схема показывает, как клиент MATLAB взаимодействует с Внутрипроцессорным сервером.

Сервер отсоединяет свои свойства и методы через интерфейс IDispatch (Automation) или интерфейс Custom, в зависимости от которых интерфейсов компонент реализует. Для получения информации о доступе к интерфейсам см. интерфейсы COM-объектов.

Любой COM-компонент, который был реализован как динамически подключаемая библиотека (DLL), также инстанцируют во внутрипроцессорном сервере. Таким образом, это создается в том же процессе как клиентское приложение MATLAB. Когда MATLAB использует сервер DLL, он запускается в отдельном окне, а не графическом окне MATLAB.

Чтобы узнать больше о работе с MATLAB как клиент, смотрите, Создают COM-объекты.

Клиент MATLAB и сервер из процесса

В этой настройке клиентское приложение MATLAB взаимодействует с компонентом, который был реализован как Локальный Сервер Из процесса. Примерами серверов из процесса являются программы Microsoft Word и Microsoft® Excel®.

Как с внутрипроцессорными серверами, этот сервер отсоединяет свои свойства и методы через интерфейс IDispatch (Automation) или интерфейс Custom, в зависимости от которых интерфейсов компонент реализует. Для получения информации о доступе к интерфейсам см. интерфейсы COM-объектов.

Начиная с клиент-сервера, запущенного в отдельных процессах, у вас есть опция создания сервера в любой системе в той же сети как клиент.

Если компонент обеспечивает пользовательский интерфейс, его окно является отдельным от клиентского приложения.

Чтобы узнать больше о работе с MATLAB как клиент, смотрите, Создают COM-объекты.

Реализации COM, поддержанные MATLAB

MATLAB только поддерживает реализации COM, которые совместимы с Microsoft Active Template Library (ATL) API. В общем случае ваш COM-объект должен смочь содержаться в окне хоста ATL, чтобы работать с MATLAB.

Клиентское приложение и сервер автоматизации MATLAB

MATLAB действует в качестве Сервера автоматизации в этой настройке. Это может создать и управлять любая программа Microsoft Windows®, которая может быть контроллером Автоматизации. Некоторыми примерами контроллеров Автоматизации является Microsoft Excel, Microsoft Access™, Microsoft Project и многие программы Microsoft Visual C ++® и Microsoft Visual Basic®.

Возможности Сервера автоматизации MATLAB включают способность выполнить команды в рабочем пространстве MATLAB, и получить и поместить матрицы непосредственно от и в рабочую область. Можно запустить сервер MATLAB, чтобы запуститься или в разделяемом или в специализированном режиме. У вас также есть опция выполнения его в локальной или удаленной системе.

Чтобы создать сервер MATLAB из внутренней программы приложений, используйте соответствующую функцию с того языка, чтобы инстанцировать сервера. (Например, используйте Visual Basic CreateObject функция. Для программного идентификатора, задайте matlab.application. Чтобы запустить MATLAB как выделенный сервер, используйте matlab.application.single программный идентификатор. Смотрите Разделяемые и Выделенные серверы для получения дополнительной информации.

Функция, которая создает сервер MATLAB также, возвращает указатель на свойства и методы, доступные в сервере через интерфейс IDispatch.

Примечание

Поскольку клиентские программы VBScript требуют, чтобы интерфейс Automation связался с серверами, это - единственная настройка, которая поддерживает клиент VBScript.

Для получения дополнительной информации

Чтобы узнать больше о работе с Серверами автоматизации, см. Интерфейс сервера автоматизации MATLAB COM.

Клиентское приложение и сервер MATLAB Engine

MATLAB обеспечивает более быстрый пользовательский интерфейс под названием IEngine для клиентских приложений, написанных в C, C++ или Фортране. MATLAB использует IEngine, чтобы связаться между клиентским приложением и движком MATLAB, запускающимся как сервер COM.

Используйте API-функции MATLAB Engine для начала и конца серверный процесс, и отправить команды, которые будут обработаны MATLAB.