package client; import java.awt.Point; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.Socket; public class Comunication { private String address; private int port; private Socket socket; private PrintWriter pw; private BufferedReader br; private int y; public Comunication(String address, int port) { this.address = address; this.port = port; y = 0; openComunication(); } public void openComunication() { try { socket = new Socket(address, port); System.out.println("Connection complete"); pw = new PrintWriter(socket.getOutputStream()); br = new BufferedReader(new InputStreamReader( socket.getInputStream())); } catch (IOException e) { System.err.println(e.getMessage()); } } public void sendBatPosition(Point position, boolean left) { if (position.y != y) { y = position.y; String string = ""; string += y; int length = string.length(); pw.write(length); pw.flush(); for (int i = 0; i < length; i++) { pw.write((int) string.charAt(i) - 48); pw.flush(); } } } public int reciveBatPosition() { int position = 0; try { int length = br.read(); for (int i = 0; i < length; i++) { position *= 10; position += br.read(); } } catch (IOException e) { System.err.println(e.getMessage()); } return position; } public void closeComunication() { pw.close(); try { br.close(); } catch (IOException e) { System.err.println(e.getMessage()); } } }