Главная /
Построение распределенных систем на Java /
В какой строке происходит прием соединения клиента (класс BillingService): 1 package com.asw.net.ex1; 2 import java.net.*; 3 import java.util.Hashtable; 4 import java.io.*; 5 6 public class BillingService extends Thread{ 7 public static final int ADD_NEW_
В какой строке происходит прием соединения клиента (класс BillingService
):
1 package com.asw.net.ex1;
2 import java.net.*;
3 import java.util.Hashtable;
4 import java.io.*;
5
6 public class BillingService extends Thread{
7 public static final int ADD_NEW_CARD = 1;
8 public static final int ADD_MONEY = 2;
9 public static final int SUB_MONEY = 3;
10 public static final int GET_CARD_BALANCE = 4;
11 public static final int EXIT_CLIENT = 5;
12
13 private int serverPort = 7896;
14 private ServerSocket ss;
15 private Hashtable hash;
16
17 public static void main(String[] args) {
18 BillingService bs = new BillingService();
19 bs.start();
20 }
21
22 public BillingService(){
23 hash = new Hashtable();
24 }
25
26 public void run(){
27 try {
28 ss = new ServerSocket(serverPort);
29 System.out.println("Server started");
30 while(true){
31 Socket s = ss.accept();
32 System.out.println("Client accepted");
33 BillingClientService bcs = new BillingClientService(this, new DataInputStream(s.getInputStream()),
new DataOutputStream(s.getOutputStream()));
34 bcs.start();
35 }
36 } catch (IOException e) {
37 e.printStackTrace();
38 }
39 }
40
41 public void addNewCard(String personName, String card) {
42 hash.put(card, new Double(0.0));
43 }
44 public void addMoney(String card, double money) {
45 Double d = (Double)hash.get(card);
46 if (d!=null) hash.put(card,new Double(d.doubleValue()+money));
47 }
48 public void subMoney(String card, double money) {
49 Double d = (Double)hash.get(card);
50 if (d!=null) hash.put(card,new Double(d.doubleValue()-money));
51 }
52 public double getCardBalance(String card) {
53 Double d = (Double)hash.get(card);
54 if (d!=null) return d.doubleValue();
55 return 0;
56 }
57 }
вопрос
Правильный ответ:
31
19
34
Сложность вопроса
87
Сложность курса: Построение распределенных систем на Java
91
Оценить вопрос
Комментарии:
Аноним
Какой человек ищет данные ответы интуит? Это же элементарно (я не ботан)
08 авг 2020
Аноним
Спасибо за ответы по интуиту.
30 дек 2018
Аноним
Зачёт защитил. Лечу кутить отмечать экзамен intuit
24 мар 2016
Другие ответы на вопросы из темы интернет-технологии интуит.
- # Открытость, применительно к распределенным системам означает:
- # Класс DatagramSocket из пакета java.net:
- # Класс BillingService унаследован от класса Thread, потому что:
- # В строке 32 , в классе BillingServiceServer: 1 // BillingServiceServer.java 2 package com.asw.corba.ex1; 3 4 // пакеты OMG CORBA 5 import org.omg.CosNaming.*; 6 import org.omg.CORBA.*; 7 import org.omg.PortableServer.*; 8 import org.omg.PortableServer.POA; 9 import com.asw.corba.ex1.BillingServiceModule.*; 10 11 public class BillingServiceServer { 12 public static void main(String args[]) { 13 try{ 14 // create and initialize the ORB 15 ORB orb = ORB.init(args, null); 16 17 // get reference to rootpoa & activate the POAManager 18 POA rootpoa = 19 POAHelper.narrow(orb.resolve_initial_references("RootPOA")); 20 rootpoa.the_POAManager().activate(); 21 22 // create servant and register it with the ORB 23 BillingServiceImpl BSImpl = new BillingServiceImpl(); 24 BSImpl.setORB(orb); 25 26 // get object reference from the servant 27 org.omg.CORBA.Object ref = rootpoa.servant_to_reference(BSImpl); 28 BillingService href = BillingServiceHelper.narrow(ref); 29 30 // get the root naming context 31 // NameService invokes the name service 32 org.omg.CORBA.Object objRef = 33 orb.resolve_initial_references("NameService"); 34 // Use NamingContextExt which is part of the Interoperable 35 // Naming Service (INS) specification. 36 NamingContextExt ncRef = NamingContextExtHelper.narrow(objRef); 37 38 // bind the Object Reference in Naming 39 String name = "BillingService"; 40 NameComponent path[] = ncRef.to_name( name ); 41 ncRef.rebind(path, href); 42 43 System.out.println("BillingServiceServer ready and waiting ..."); 44 45 // wait for invocations from clients 46 orb.run(); 47 } 48 49 catch (Exception e) { 50 System.err.println("ERROR: " + e); 51 e.printStackTrace(System.out); 52 } 53 System.out.println("BillingServer Exiting ..."); 54 } 55 }
- # Для определения интерфейса удаленного объекта, в IDL используется ключевое слово: