import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;

public class Client {
    private String host;
    private int port;
    private Socket connection;
    private BufferedReader in;
    private PrintWriter out;
    private String line;

    public Client(String host, int port) throws IOException {
        this.host = host;
        this.port = port;
        connection = new Socket(host, port);

//        stdIn = new BufferedReader(new InputStreamReader(System.in));
    }

    public void send(String input) throws IOException {
        out = new PrintWriter(connection.getOutputStream(), true);
        out.println(input);
    }

    public String receive() throws IOException {
        return "server: " + in.readLine();
    }

    public String receiveAll() throws IOException {
        in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
        StringBuilder result = new StringBuilder();
        line = in.readLine();
        while (line != null) {
            result.append(line + String.format("%n"));
            System.out.println("Inside: " + line);
            line = in.readLine();
        }
        return result.toString();
    }

    public void close() throws IOException {
        out.close();
        in.close();
        connection.close();
    }
}