В следующем примере показано, как запустить два отдельных процесса для инициализации массивов структуры MATLAB ® .
Примечание
Не требуется установка среды выполнения MATLAB на стороне клиента. Возвращаемые значения из среды выполнения MATLAB могут быть автоматически преобразованы с помощью marshalOutputs Логическое значение в RemoteProxy класс. Подробную информацию см. в документации по API Javadoc по адресу .matlabroot/help/toolbox/javabuilder/MWArrayAPI
Скомпилировать пакет Java ® путем ввода следующей команды в командной строке MATLAB :
mcc -W 'java:dataTypesComp,dataTypesClass' createEmptyStruct.m updateField.m -v
Скомпилировать Java-код сервера путем ввода следующего: javac в командной строке системы. Убедитесь, что между ними нет пробелов javabuilder.jar; и directory_containing_package.
javac -classpath matlabroot\toolbox\javabuilder\jar\javabuilder.jar; directory_containing_package\dataTypesComp.jar DataTypesServer.java
Вы можете найти DataTypesServer.java в:
matlabroot\toolbox\javabuilder\Examples\RMIExamples \DataTypes\DataTypesDemoJavaApp
Скомпилировать код Java клиента путем ввода следующего: javac в командной строке системы. Убедитесь, что между ними нет пробелов javabuilder.jar; и directory_containing_package.
javac -classpath matlabroot\toolbox\javabuilder\jar\javabuilder.jar; directory_containing_package\dataTypesComp.jar DataTypesClient.java
Запустите клиент и сервер следующим образом:
Откройте два окна команд.
При работе под управлением Windows ® убедитесь, что определяется в системном пути. При использовании UNIX ® убедитесь, чтоmatlabroot/runtime/archLD_LIBRARY_PATH и DYLD_LIBRARY_PATH правильно установлены.
Запустите сервер путем ввода следующего: java в командной строке системы. Убедитесь, что между ними нет пробелов dataTypesComp.jar; и matlabroot.
java -classpath .;directory_containing_package\dataTypesComp.jar; matlabroot\toolbox\javabuilder\jar\javabuilder.jar -Djava.rmi.server.codebase="file:///matlabroot/toolbox/javabuilder/jar/javabuilder.jar file:///directory_containing_package/dataTypesComp.jar" DataTypesServer
Запустите клиент путем ввода следующего: java в командной строке системы. Убедитесь, что между ними нет пробелов dataTypesComp.jar; и matlabroot.
java -classpath .;directory_containing_package\dataTypesComp.jar; matlabroot\toolbox\javabuilder\jar\javabuilder.jar DataTypesClient
Вы можете найти DataTypesClient.java в: .matlabroot\toolbox\javabuilder\Examples\RMIExamples\DataTypes\DataTypesDemoJavaApp
При успешном выполнении в окне команд, на котором запущен сервер, отображаются следующие выходные данные:
Please wait for the server registration notification.
Server registered and running successfully!!
EVENT 1: Initializing the structure on server
and sending it to client:
Initialized empty structure:
Name: []
Address: []
##################################
EVENT 3: Partially initialized structure as received by server:
Name: []
Address: [1x1 struct]
Address field as initialized from the client:
Street: '3, Apple Hill Drive'
City: 'Natick'
State: 'MA'
Zip: '01760'
##################################
EVENT 4: Updating 'Name' field before
sending the structure back to the client:
Name: 'The MathWorks'
Address: [1x1 struct]
##################################
Running the client application!!
EVENT 2: Initialized structure as received in client applications:
Name: []
Address: []
Updating the 'Address' field to :
Street: '3, Apple Hill Drive'
City: 'Natick'
State: 'MA'
Zip: '01760'
#################################
EVENT 5: Final structure as received by client:
Name: 'The MathWorks'
Address: [1x1 struct]
Address field:
Street: '3, Apple Hill Drive'
City: 'Natick'
State: 'MA'
Zip: '01760'
#################################