exponenta event banner

Использование собственных массивов ячеек и структур Java

Перед запуском примера

Перед выполнением этого примера обратите внимание на следующее:

  • В этом примере показано, как реализовать RMI, когда клиент и сервер работают на одном компьютере. См. раздел Запуск клиента и сервера на отдельных машинах, если вы хотите поступить иначе.

  • В UNIX ® используйте : в качестве разделителя пути при вызовах java и javac. Использовать ; в качестве разделителя пути в Windows.

  • Обновите только системный путь сервера, указав местоположение среды выполнения MATLAB ®. Клиенту не требуется доступ к среде выполнения MATLAB .

  • Этот пример поставляется в matlab\toolbox\javabuilder\Examples\RMIExamples\NativeCellStruct каталог.

  • Убедитесь, что:

Выполнение примера

Примечание

Обязательно введите следующие команды как одиночные, неразрывные.

  1. Используйте следующее mcc для построения пакета:

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

  2. Скомпилировать код Java ® сервера:

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

  3. Скомпилировать код Java клиента:

    javac -classpath matlabroot\toolbox\javabuilder\jar\javabuilder.jar;
    directory_containing_package\dataTypesComp.jar 
    NativeCellStructClient.java 
    
  4. Подготовьтесь к запуску серверных и клиентских приложений, открыв два командных окна - одно для клиента и одно для сервера.

  5. Запустите сервер:

    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" 
    NativeCellStructServer
  6. Запустите клиент:

    java -classpath .;directory_containing_package\dataTypesComp.jar;
    matlabroot\toolbox\javabuilder\jar\javabuilder.jar NativeCellStructClient
  7. Если приложение успешно запущено, выходные данные отображаются следующим образом:

    • Выходные данные сервера:

       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:
      
                           1x1 struct array with fields:
                              Name
                              Address
      
                      Updating the 'Address' field to :
      
                           1x1 struct array with fields:
                              Street
                              City
                              State
                              Zip
      
                  #################################
      
                  EVENT 5: Final structure as received by client:
      
                           1x1 struct array with fields:
                              Name
                              Address
      
                      Address field:
      
                           1x1 struct array with fields:
                              Street
                              City
                              State
                              Zip
      
                  #################################