База ответов ИНТУИТ

Построение распределенных систем на Java

<<- Назад к вопросам

При передаче объектов, с использованием ObjectOutputStream/ObjectInputStream:

(Отметьте один правильный вариант ответа.)

Варианты ответа
после создания потока по нему можно передавать только объекты одного класса, в случае, если необходимо передавать объекты нескольких классов, необходимо создавать несколько экземпляров потоков ввода/вывода
после создания потока ввода/вывода по нему можно передавать объекты разных классов, однако объекты одного класса должны быть явно отделены от объектов другого класса специальным разделителем
после создания потока ввода/вывода по нему можно передавать объекты разных классов(Верный ответ)
Похожие вопросы
Метод readObject, в строке 32 , в случае, если клиент после установки соединения не записал в поток никаких данных, приведет:
1  package com.asw.net.ex2;2  import java.io.*;3  import java.net.*;4  5  public class BillingClientService extends Thread {6  ObjectInputStream ois;7  ObjectOutputStream oos;8  BillingService bs;9  Socket s;10  11  public BillingClientService(BillingService bs,Socket s){12    System.out.println("Constructor BillingClientService\n");13    this.bs = bs;14    this.s = s;15    try {16      this.oos = new ObjectOutputStream(s.getOutputStream());17      this.ois = new ObjectInputStream(s.getInputStream());18    } catch (IOException e) {19      // TODO Auto-generated catch block20      e.printStackTrace();21    }22    23    System.out.println("Stream`s done \n socket="+s);24  }25  public void run(){26    System.out.println("ClientService thread started\n");27    boolean work = true;28    while (work) {29      int command;30      Object o;31      try {32        o = ois.readObject();              33        if (o instanceof Card[]) {34          Card[] cards = (Card[])o;35          for (int i=0;i<cards.length;i++){36            bs.addNewCard(cards[i]);37          }38        }else if (o instanceof CardOperation[]){39          CardOperation[] co = (CardOperation[])o;40          for (int i=0;i<co.length;i++){41            bs.addMoney(co[i].card,co[i].amount);42          }43        }else if (o instanceof String){44          oos.writeObject(bs.getCard((String)o)); 45        }else System.out.println("Bad operation");46        47      } catch (IOException e) {48        e.printStackTrace();49      } catch (ClassNotFoundException e) {50        e.printStackTrace();51      }52    }53  }54  }
Module BillingServiceModule (в определении BillingService.idl) при использовании утилиты idlj породит следующую синтаксическую конструкцию Java:
С помощью каких утилит, входящих в состав Sun Application Server, осуществляется запуск BillingClient и BillingService:
При использовании Sun Java System Application Server и набора скриптов из пакета The Java Web Services Tutorial вызов утилиты wsgen должен быть осуществлен:
При использовании Sun Java System Application Server и набора скриптов из пакета The Java Web Services Tutorial инсталляция Web-сервиса осуществляется командой:
При использовании Sun Java System Application Server и набора скриптов из пакета The Java Web Services Tutorial подготовка модуля развертывания Web-сервиса:
В какой строке класса BillingServiceServer (листинг программы) создается объект, реализующий интерфейс BillingService, определенный в BillingService.idl:
Какие утилиты, входящие в состав JDK, используются при компиляции BillingClient и BillingService:
Описание Card addNewCard(in string personName, in string card) в определении BillingService.idl означает, что объектная ссылка Card, возвращаемая методом, "указывает" на:
При передаче экземпляров CardOperation по сети, передаются: