import java.net.*; import java.io.*; public class tcpServer { public static void main(String args[]) { int port; ServerSocket server_socket; BufferedReader input; try { port = Integer.parseInt(args[0]); } catch (Exception e) { System.out.println("port = 1500 (default)"); port = 1500; } try { server_socket = new ServerSocket(port); System.out.println("Server waiting for client on port " + server_socket.getLocalPort()); // server infinite loop while(true) { Socket socket = server_socket.accept(); System.out.println("New connection accepted " + socket.getInetAddress() + ":" + socket.getPort()); input = new BufferedReader(new InputStreamReader(socket.getInputStream())); // print received data try { while(true) { String message = input.readLine(); if (message==null) break; System.out.println(message); } } catch (IOException e) { System.out.println(e); } // connection closed by client try { socket.close(); System.out.println("Connection closed by client"); } catch (IOException e) { System.out.println(e); } } } catch (IOException e) { System.out.println(e); } } } import java.net.*; import java.io.*; public class tcpClient { public static void main(String[] args) { int port = 1500; String server = "localhost"; Socket socket = null; String lineToBeSent; BufferedReader input; PrintWriter output; int ERROR = 1; // read arguments if(args.length == 2) { server = args[0]; try { port = Integer.parseInt(args[1]); } catch (Exception e) { System.out.println("server port = 1000 (default)"); port = 1500; } } // connect to server try { socket = new Socket(server, port); System.out.println("Connected with server " + socket.getInetAddress() + ":" + socket.getPort()); } catch (UnknownHostException e) { System.out.println(e); System.exit(ERROR); } catch (IOException e) { System.out.println(e); System.exit(ERROR); } try { input = new BufferedReader(new InputStreamReader(System.in)); output = new PrintWriter(socket.getOutputStream(),true); // get user input and transmit it to server while(true) { lineToBeSent = input.readLine(); // stop if input line is "." if(lineToBeSent.equals(".")) break; output.println(lineToBeSent); } } catch (IOException e) { System.out.println(e); } try { socket.close(); } catch (IOException e) { System.out.println(e); } } }
版权声明:本文为博主原创文章,未经博主允许不得转载。
Stay Hungry, Stay Foolish, Walking in Life