// tcpServer.java by fpont 3/2000 // usage : java tcpServer <port number>. // default port is 1500. // connection to be closed by client. // this server handles only 1 connection. import java.net.*; import java.io.*; import java.lang.*; public class tcpServer { public static void main(String args[]) { int port; ServerSocket server_socket; BufferedReader input; BufferedWriter output; 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())); output = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())); // print received data try { while(true) { char[] buf = new char[20]; input.read(buf,0,20); if (buf==null) { return; } System.out.println(buf); // input.close(); // output.flush(); // for(int i=0;i<15;i++) { //Flushing the output after the write will immediatly intimate the client output.write(buf,0,20); output.flush(); } //output.write(buf); //output.flush(); } } 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); } } }