Главная / Построение распределенных систем на Java / Чтение из потока, в строке 21, в случае, если клиент после установки соединения не записал в поток никаких данных, приведет: 1 package com.asw.net.ex1; 2 import java.io.*; 3 4 public class BillingClientService extends Thread { 5 DataInputStream dis; 6 Dat

Чтение из потока, в строке 21, в случае, если клиент после установки соединения не записал в поток никаких данных, приведет: 1 package com.asw.net.ex1; 2 import java.io.*; 3 4 public class BillingClientService extends Thread { 5 DataInputStream dis; 6 DataOutputStream dos; 7 BillingService bs; 8 9 public BillingClientService (BillingService bs,DataInputStream dis,DataOutputStream dos){ 10 this.bs = bs; 11 this.dis = dis; 12 this.dos = dos; 13 } 14 15 public void run(){ 16 System.out.println("ClientService thread started"); 17 boolean work = true; 18 while (work) { 19 int command; 20 try { 21 command = dis.readInt(); 22 switch (command) { 23 case BillingService.ADD_NEW_CARD: 24 addNewCard(); 25 break; 26 case BillingService.ADD_MONEY: 27 addMoney(); 28 break; 29 case BillingService.SUB_MONEY: 30 subMoney(); 31 break; 32 case BillingService.GET_CARD_BALANCE: 33 getCardBalance(); 34 break; 35 case BillingService.EXIT_CLIENT: 36 work = false; 37 break; 38 default: 39 System.out.println("Bad operation:" + command); 40 } 41 } catch (IOException e) { 42 e.printStackTrace(); 43 } 44 } 45 } 46 47 void addNewCard() throws IOException{ 48 String personName = dis.readUTF(); 49 String card = dis.readUTF(); 50 bs.addNewCard(personName,card); 51 } 52 void addMoney() throws IOException{ 53 String card = dis.readUTF(); 54 double money = dis.readDouble(); 55 bs.addMoney(card,money); 56 } 57 void subMoney() throws IOException{ 58 String card = dis.readUTF(); 59 double money = dis.readDouble(); 60 bs.subMoney(card,money); 61 } 62 void getCardBalance() throws IOException{ 63 String card = dis.readUTF(); 64 double money = bs.getCardBalance(card); 65 dos.writeDouble(money); 66 } 67 }

вопрос

Правильный ответ:

к ошибке, на момент вызова метода readInt (строка 21) данные должны быть уже переданы со стороны клиента
метод будет заблокирован до момента поступления данных со стороны клиента или обрыва соединения
метод возвратит 0
Сложность вопроса
66
Сложность курса: Построение распределенных систем на Java
91
Оценить вопрос
Очень сложно
Сложно
Средне
Легко
Очень легко
Комментарии:
Аноним
Если бы не данные решения - я бы не справился c этими тестами интуит.
27 дек 2019
Аноним
Если бы не данные подсказки - я бы не справился c этими тестами интуит.
23 авг 2018
Оставить комментарий
Другие ответы на вопросы из темы интернет-технологии интуит.