import java.net.*;
import java.io.*;

public class SocketClient {
  public static void main(String[] args) {

    BufferedReader BF = new BufferedReader(new InputStreamReader(System.in));
    String pasirinkimas;
    String sarasasK="1.Prekiu sarasas 2.Pirkti 3.Saskaitos likutis 4.Atsijungti";

    StringBuffer buf = new StringBuffer();
    System.out.println("---Bandoma jungtis---");
    
    try {
        System.out.println("---Ivesk serverio IP(local:127.0.0.1): ");
        String host = BF.readLine();
        System.out.println("---Ivesk porta: ");
        int portas = Integer.valueOf(BF.readLine()).intValue();
        
      /** Obtain an address object of the server */
      InetAddress address = InetAddress.getByName(host);
      /** Establish a socket connetion */
      Socket siuntimas = new Socket(address, portas);
      System.out.println("---Prisijungta---");
      
      /** Starting the game.. */
      System.out.println("---Elektronine parduotuve sveikina Jus---");
      
      int meniu;
    
      BufferedOutputStream bos = new BufferedOutputStream(siuntimas.getOutputStream());
      OutputStreamWriter osw = new OutputStreamWriter(bos);
      String process;
      
      BufferedInputStream bis = new BufferedInputStream(siuntimas.getInputStream());
      InputStreamReader isr = new InputStreamReader(bis);
      boolean a=true;
      int saskaita = (int) (Math.random() * 600 + 200);
      do {
          do {
        	  System.out.println("---Rinkites is meniu---");
        	  System.out.println(sarasasK);
              pasirinkimas = BF.readLine();
              meniu = Integer.parseInt(pasirinkimas);
          } while (meniu > 4 || meniu < 0  );  
          process = "" + meniu +  (char) 0;
          osw.write(process);
          osw.flush();

          int c;
          buf.delete(0, buf.length());
          while ( (c = isr.read()) != 0){
              buf.append( (char) c);}
          if (meniu==1){System.out.println(buf); a=true;}
          if (meniu==4) {a=false;}         
      } while (a==true);
      
      //!instr.toString().equals("1")
    //  process = "N" + (char) 0;
     // osw.write(process);
     // osw.flush();  
      
      System.out.println("---Atsijungiama---");
      siuntimas.close();
     }
    catch (IOException f) {
      System.out.println("IOException: " + f);
    }
    catch (Exception g) {
      System.out.println("Exception: " + g);
    }
  }
}