


Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
L'implementazione di una comunicazione semplice tra un cliente e un server utilizzando java. Il cliente invia richieste al server, che elabora le richieste e invia risposte al cliente. Il documento include due parti: il client e il server, ciascuna scritta in java. Il client mostra i prodotti disponibili e chiede all'utente di inserire il proprio nome, il codice del prodotto desiderato, la quantità e il totale da pagare. Il server riceve le informazioni dal cliente, calcola il totale del prodotto desiderato e, se il totale è inferiore al totale da pagare, invia al cliente una conferma dell'ordine con il resto da pagare. Se il totale è superiore al totale da pagare, l'ordine viene annullato. Utile per chi vuole apprendere i concetti di comunicazione tra client e server utilizzando java.
Tipologia: Esercizi
1 / 4
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!



Client e Server in Java Client import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; import java.net.InetAddress; import java.net.Socket; import java.util.Scanner; public class Client { public static void main(String[] args) throws IOException{ // InetAddress ip = InetAddress.getLocalHost(); int port = 8080; Scanner scanner = new Scanner(System.in); // Socket socket = new Socket(ip, port); DataInputStream dataInputStream = new DataInputStream(socket.getInputStream()); DataOutputStream dataOutputStream = new DataOutputStream(socket.getOutputStream()); // while(true){ System.out.println("- Profumo ALFA: Cod A / prezzo 2,70 \n" + "- Profumo BETA: Cod B / prezzo 4,50 \n" + "- Colore Capelli Biondo: Cod CB / prezzo 6,40 \n" + "- Colore Capelli Testa di Moro: Cod CTM / prezzo 7,25 \n" + "- Colore Capelli Corvino: Cod CC / prezzo 4,67 \n" + "- Colore Capelli Rosso: Cod CR / prezzo 6,44 \n" + "- Rossetto: Cod R / prezzo 9,45 \n" + "- Fard: Cod F / prezzo 4,98 \n" + "- Dopobarba: Cod D / prezzo 7,85 \n" + "- Schiuma per Barba: Cod S / prezzo 3,95 \n"); // System.out.println("Inserisci Nome cliente , Codece prodotto, Quantità, Soldi per pagare..."); //prende e invio le info al server String invio = scanner.nextLine(); dataOutputStream.writeUTF(invio); //prendo la risposta dal server e la stampo String risposta = dataInputStream.readUTF(); System.out.println(risposta); } } } Server import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; import java.net.ServerSocket; import java.net.Socket; import java.util.StringTokenizer;
public class Server { public static void main(String args[]) throws IOException{ // ServerSocket serverSocket = new ServerSocket(8080); Socket socket = serverSocket.accept(); // DataInputStream dataInputStream = new DataInputStream(socket.getInputStream()); DataOutputStream dataOutputStream = new DataOutputStream(socket.getOutputStream()); // while (true){ //ricezione dati e divisione String string = dataInputStream.readUTF(); StringTokenizer tokenizer = new StringTokenizer(string); String name = tokenizer.nextToken(); String CodProd = tokenizer.nextToken(); double Quant = Integer.parseInt(tokenizer.nextToken()); double SoldPag = Integer.parseInt(tokenizer.nextToken()); // double resto = 0; StringBuilder ordine = new StringBuilder(); // switch (CodProd){ case "A": //2, if ((Quant * 2.70) < SoldPag){ resto = SoldPag - (Quant * 2.70); ordine = new StringBuilder("La consegna di " + Quant + "di Profumo Alfa è in corso con £" + resto + "di resto."); } else{System.out.println(name + " " + "il tuo ordine è stato annulato.");} break; case "B": //4, if ((Quant * 4.50) < SoldPag){ resto = SoldPag - (Quant * 4.50); ordine = new StringBuilder("La consegna di " + Quant + "di Profumo Beta è in corso con £" + resto + "di resto."); } else{System.out.println(name + " " + "il tuo ordine è stato annulato.");} break; case "CB": //6, if ((Quant * 6.40) < SoldPag){ resto = SoldPag - (Quant * 6.40); ordine = new StringBuilder("La consegna di " + Quant + "di Colore capelli biondo è in corso con £" + resto + "di resto."); } else{System.out.println(name + " " + "il tuo ordine è stato annulato.");} break; case "CTM": //7, if ((Quant * 7.25) < SoldPag){ resto = SoldPag - (Quant * 7.25);
ordine = new StringBuilder("La consegna di " + Quant + "di Schiuma per barba è in corso con £" + resto + "di resto."); } else{System.out.println(name + " " + "il tuo ordine è stato annulato.");} break; } // dataOutputStream.writeUTF(ordine.toString()); } } }