Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.*;
- import java.net.*;
- public class serverN {
- public static void main(String[] args) {
- try {
- //porta in ascolto per i clientN
- ServerSocket ss = new ServerSocket(5000);
- Socket s = new Socket();
- while(true){
- System.out.println("waiting for clintN on " + ss.getLocalPort());
- s = ss.accept();
- SendRequest r = new SendRequest(s);
- Thread t = new Thread(r);
- t.start();
- }
- } catch (Exception e) {
- System.out.println(e);
- }
- }
- }
- class SendRequest extends serverN implements Runnable{
- //socket da cui accetta
- Socket s = new Socket();
- Socket to = new Socket();
- SendRequest(Socket s){
- this.s = s;
- }
- @Override
- public void run() {
- try {
- System.out.println("new Connection from ClientN");
- InetAddress addr = InetAddress.getByName("localhost");
- Socket to = new Socket(addr, 3000);
- //leggere dal client
- InputStreamReader readerFrom = new InputStreamReader(this.s.getInputStream());
- BufferedReader readFrom = new BufferedReader(readerFrom);
- PrintStream writerFrom = new PrintStream(this.s.getOutputStream(), true);
- //inoltrare al server
- InputStreamReader readerTo = new InputStreamReader(to.getInputStream());
- BufferedReader readTo = new BufferedReader(readerTo);
- PrintStream writerTo = new PrintStream(to.getOutputStream(), true);
- int type;
- do{
- //leggo richiesta dal client
- String request = new String(readFrom.readLine());
- type = Integer.parseInt(request);
- //costruisco la stringa per la richiesta da inoltrare
- request = "0" + request;
- writerTo.println(request);
- switch (type) {
- case 1:
- //creare negozio
- String shopName = new String(readFrom.readLine());
- writerTo.println(shopName);
- String responseAddiction = new String(readTo.readLine());
- writerFrom.println(responseAddiction);
- break;
- case 2:
- //eliminare negozio
- String shopNameDelete = new String(readFrom.readLine());
- writerTo.println(shopNameDelete);
- String responseDelete = new String(readTo.readLine());
- writerFrom.println(responseDelete);
- break;
- case 3:
- //inserimento prodotto
- String shopProductName = new String(readFrom.readLine());
- String productName = new String(readFrom.readLine());
- writerTo.println(shopProductName+"-"+productName);
- String responseProductAddiction = new String(readTo.readLine());
- writerFrom.println(responseProductAddiction);
- break;
- case 4:
- //eliminazione prodotto
- String shopNameToDelete = new String(readFrom.readLine());
- String productNameDelete = new String(readFrom.readLine());
- writerTo.println(shopNameToDelete+"-"+productNameDelete);
- String responseProductDeletion = new String(readTo.readLine());
- writerFrom.println(responseProductDeletion);
- break;
- }
- }while(type != 0);
- System.out.println("Client Disconnected");
- this.s.close();
- } catch (Exception e) {
- System.out.println(e);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement