package pad.prac2; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.InetSocketAddress; import java.net.Socket; import java.net.SocketAddress; public class MySocket extends Socket { private PrintWriter output; private BufferedReader input; public MySocket() { super(); try { output = new PrintWriter(super.getOutputStream()); input = new BufferedReader(new InputStreamReader(super.getInputStream())); } catch(IOException ioExc) { System.out.println("TCP: Error initializing socket"); } } public void connect(String host, int port) { SocketAddress addr = new InetSocketAddress(host,port); try { super.connect(addr); } catch(IOException ioExc) { System.out.println("TCP: Error occured while connecting to remote host"); } } public void close() { try { super.shutdownInput(); super.shutdownOutput(); super.close(); } catch(IOException ioExc) { System.out.println("TCP: Error while closing socket"); } } public void write(String str, int bytes) { output.print(str.substring(0,bytes)); } public String read(int bytes) { char[] buffer = new char[bytes]; try { input.read(buffer, 0, bytes); return new String(buffer); } catch(IOException ioExc) { System.out.println("TCP: Error retrieving data from remote endpoint"); return null; } } public String readLine() { try { return input.readLine(); } catch(IOException ioExc) { System.out.println("TCP: Error retrieving data from remote endpoint"); return null; } } }