2012-01-16 23:00:21 // SocketClient.java import java.io.*; import java.net.*; public class SocketClient{ public static void main(String[] args) { try { Socket echoSocket = new Socket("localhost", 7423); // 85.181.176.19 :P PrintWriter out = new PrintWriter(echoSocket.getOutputStream(), true); BufferedReader in = new BufferedReader(new InputStreamReader(echoSocket.getInputStream())); if(args.length == 1) { out.println(args[0]); System.out.println("[CLIENT] Sending: " + args[0]); } else { out.println("hallo welt!"); System.out.println("[CLIENT] Sending: hallo welt!"); } System.out.print("[CLIENT] Received: "); System.out.println(in.readLine()); out.close(); in.close(); echoSocket.close(); } catch(IOException e) { System.err.println("[CLIENT] Error: " + e.toString()); // e.printStackTrace(); System.exit(1); } } } // SocketServer.java import java.io.*; import java.net.*; public class SocketServer { static String printAndInvert(String message) { System.out.println(message); String r = ""; for(int i=message.length(); i>0; i--) { r += message.charAt(i-1); } return r; } public static void main(String[] args) { try { System.out.println("[SERVER] Starting"); ServerSocket serverSocket = new ServerSocket(7423); Socket connectionSocket = null; PrintWriter out = null; BufferedReader in = null; String input = null; do { System.out.println("[SERVER] Accepting new requests"); connectionSocket = serverSocket.accept(); out = new PrintWriter(connectionSocket.getOutputStream(), true); in = new BufferedReader(new InputStreamReader(connectionSocket.getInputStream())); input = in.readLine(); System.out.print("[SERVER] Received: "); out.println(printAndInvert(input)); } while(!input.equals("bye!")); in.close(); out.close(); connectionSocket.close(); serverSocket.close(); System.out.println("[SERVER] Closing"); } catch(IOException e) { System.err.println("[SERVER] Error: " + e.toString()); // e.printStackTrace(); System.exit(1); } } }