Advertisement
Guest User

ServerN Finito!

a guest
Jan 19th, 2020
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.01 KB | None | 0 0
  1. import java.io.*;
  2. import java.net.*;
  3.  
  4.  
  5. public class serverN {
  6.     public static void main(String[] args) {
  7.        
  8.        try {
  9.            //porta in ascolto per i clientN
  10.            ServerSocket ss = new ServerSocket(5000);
  11.            Socket s = new Socket();
  12.            while(true){
  13.                System.out.println("waiting for clintN on " + ss.getLocalPort());
  14.                s = ss.accept();
  15.                SendRequest r = new SendRequest(s);
  16.                Thread t = new Thread(r);
  17.                t.start();
  18.            }
  19.         } catch (Exception e) {
  20.            System.out.println(e);
  21.        }    
  22.     }
  23. }
  24.  
  25. class SendRequest extends serverN implements Runnable{
  26.     //socket da cui accetta
  27.     Socket s = new Socket();
  28.     Socket to = new Socket();
  29.  
  30.     SendRequest(Socket s){
  31.         this.s = s;
  32.  
  33.     }
  34.  
  35.     @Override
  36.     public void run() {
  37.         try {
  38.             System.out.println("new Connection from ClientN");
  39.             InetAddress addr = InetAddress.getByName("localhost");
  40.             Socket to = new Socket(addr, 3000);
  41.             //leggere dal client
  42.             InputStreamReader readerFrom = new InputStreamReader(this.s.getInputStream());
  43.             BufferedReader readFrom = new BufferedReader(readerFrom);
  44.             PrintStream writerFrom = new PrintStream(this.s.getOutputStream(), true);
  45.             //inoltrare al server
  46.             InputStreamReader readerTo = new InputStreamReader(to.getInputStream());
  47.             BufferedReader readTo = new BufferedReader(readerTo);
  48.             PrintStream writerTo = new PrintStream(to.getOutputStream(), true);
  49.            
  50.            
  51.             int type;
  52.             do{
  53.                 //leggo richiesta dal client
  54.                 String request = new String(readFrom.readLine());
  55.                 type = Integer.parseInt(request);
  56.                 //costruisco la stringa per la richiesta da inoltrare
  57.                 request = "0" + request;
  58.                 writerTo.println(request);
  59.            
  60.                 switch (type) {
  61.                     case 1:
  62.                         //creare negozio
  63.                         String shopName = new String(readFrom.readLine());
  64.                         writerTo.println(shopName);
  65.                         String responseAddiction = new String(readTo.readLine());
  66.                         writerFrom.println(responseAddiction);
  67.                         break;
  68.                     case 2:
  69.                         //eliminare negozio
  70.                         String shopNameDelete = new String(readFrom.readLine());
  71.                         writerTo.println(shopNameDelete);
  72.                         String responseDelete = new String(readTo.readLine());
  73.                         writerFrom.println(responseDelete);
  74.                         break;
  75.                     case 3:
  76.                         //inserimento prodotto
  77.                         String shopProductName = new String(readFrom.readLine());
  78.                         String productName = new String(readFrom.readLine());
  79.                         writerTo.println(shopProductName+"-"+productName);
  80.                         String responseProductAddiction = new String(readTo.readLine());
  81.                         writerFrom.println(responseProductAddiction);
  82.                         break;
  83.                     case 4:
  84.                         //eliminazione prodotto
  85.                         String shopNameToDelete = new String(readFrom.readLine());
  86.                         String productNameDelete = new String(readFrom.readLine());
  87.                         writerTo.println(shopNameToDelete+"-"+productNameDelete);
  88.                         String responseProductDeletion = new String(readTo.readLine());
  89.                         writerFrom.println(responseProductDeletion);
  90.                         break;
  91.                 }
  92.             }while(type != 0);
  93.             System.out.println("Client Disconnected");
  94.            
  95.             this.s.close();
  96.  
  97.         } catch (Exception e) {
  98.             System.out.println(e);
  99.         }
  100.     }
  101. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement