ushas

Untitled

May 24th, 2012
36
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.24 KB | None | 0 0
  1. package echoTCP;
  2.  
  3. import tutta la roba;
  4.  
  5. public abstract class TCP {
  6.  
  7.     protected int port;
  8.    
  9.     public TCP(int port) {
  10.         super();
  11.         this.port = port;
  12.     }
  13.  
  14.     protected abstract void clientProtocol(BufferedReader in, BufferedWriter out)
  15.             throws IOException;
  16.    
  17.     protected abstract void serverProtocol(BufferedReader in, BufferedWriter out)
  18.         throws IOException;
  19.  
  20. /*****************client***************/
  21.     protected void client(String[] args) {
  22.         try {
  23.             Socket echo = new Socket(args[0], port);
  24.             BufferedReader in =
  25.                 new BufferedReader(new InputStreamReader(echo.getInputStream()));
  26.             BufferedWriter out =
  27.                 new BufferedWriter(new OutputStreamWriter(echo.getOutputStream()));
  28.             System.out.println("Connected...");
  29.             //utilizzo del servizio
  30.             clientProtocol(in, out);
  31.             echo.shutdownOutput();
  32.             echo.close();
  33.             System.out.println("Disconnected...");
  34.             in.close();
  35.             out.close();
  36.         } catch (Exception e) {
  37.             System.err.println(e);
  38.             System.exit(1);
  39.         }
  40.     }
  41.  
  42. /********server******************/
  43.     protected void server() {
  44.         try {
  45.             ServerSocket echo = new ServerSocket(port);
  46.             System.out.println("RFC 862 ECHO server now running");
  47.             while(true) {
  48.                 try {
  49.                     final Socket connection = echo.accept();
  50.                     Runnable worker = aWorker(connection);
  51.                     Thread t = new Thread(worker);
  52.                     t.start();
  53.                 } catch (Exception e) {
  54.                     e.printStackTrace();
  55.                 }
  56.             }
  57.         } catch (IOException e) {
  58.             e.printStackTrace();
  59.             System.exit(1);
  60.         }
  61.     }
  62.    
  63.     private Runnable aWorker(final Socket connection){
  64.         Runnable worker = new Runnable(){
  65.             public void run(){
  66.                 try{
  67.                     //System.out.println("Client IP:"+connection.getInetAddress());
  68.                     System.out.println("Connection from client");
  69.                     //gestione del servizio
  70.                     BufferedReader in =
  71.                         new BufferedReader(new InputStreamReader(connection.getInputStream()));
  72.                     BufferedWriter out =
  73.                         new BufferedWriter(new OutputStreamWriter(connection.getOutputStream()));
  74.                     //String data = serverProtocol(in, out);
  75.                     serverProtocol(in, out);
  76.                     in.close();
  77.                     out.close();
  78.                     connection.close();
  79.                     System.out.println("Connection closed");
  80.                 } catch(IOException e){
  81.                     e.printStackTrace();
  82.                 }
  83.             }
  84.         }; return worker;
  85.     }
  86.  
  87. }
Advertisement
Add Comment
Please, Sign In to add comment