exponenta event banner

Запуск клиента и сервера на одном компьютере

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

Примечание

Не требуется установка среды выполнения MATLAB на стороне клиента. Возвращаемые значения из среды выполнения MATLAB могут быть автоматически преобразованы с помощью marshalOutputs Логическое значение в RemoteProxy класс. Подробную информацию см. в документации по API Javadoc по адресу matlabroot/help/toolbox/javabuilder/MWArrayAPI.

  1. Скомпилировать пакет Java ® путем ввода следующей команды в командной строке MATLAB :

    mcc -W 'java:dataTypesComp,dataTypesClass' createEmptyStruct.m updateField.m -v
    

     createEmptyStruct.m

     updateField.m

  2. Скомпилировать 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

  3. Скомпилировать код Java клиента путем ввода следующего: javac в командной строке системы. Убедитесь, что между ними нет пробелов javabuilder.jar; и directory_containing_package.

    javac -classpath matlabroot\toolbox\javabuilder\jar\javabuilder.jar; directory_containing_package\dataTypesComp.jar DataTypesClient.java

  4. Запустите клиент и сервер следующим образом:

    1. Откройте два окна команд.

    2. При работе под управлением Windows ® убедитесь, чтоmatlabroot/runtime/arch определяется в системном пути. При использовании UNIX ® убедитесь, чтоLD_LIBRARY_PATH и DYLD_LIBRARY_PATH правильно установлены.

    3. Запустите сервер путем ввода следующего: 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
      
    4. Запустите клиент путем ввода следующего: 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'
    
                #################################