package MV3500Cohort2018JulySeptember.homework1; import java.io.*; import java.net.*; /** * The simplest possible TCP network program. It listens for * a connection, from telnet (telnet localhost 2317) or a program * you write, which we will do later. Right now the TcpExample simply * writes a string in response to a connection. * * Testing the running server program from telnet looks like this: * * it154916:projects mcgredo$ telnet localhost 2317 * Trying ::1... * Connected to localhost. * Escape character is '^]'. * This was written by the server * Connection closed by foreign host. * * Notice that "This was written by the server" matches * what is written by the code below, over the output stream. * * After this first connection the program below drops out * the bottom of the program, and does not repeat itself. * The program exits. * * @author mcgredo */ public class FriscoAssignment1 { /** * Default constructor to silence javadoc warning * @see <a href="https://stackoverflow.com/questions/4488716/java-default-constructor" target="_blank">StackOverflow: Java default constructor</a> */ public FriscoAssignment1 () { // default initializations occur here } /** run the program * @param args command-line arguments, string parameters (unused) */ public static void main(String[] args) { try { // The ServerSocket waits for a connection from a client. // It returns a Socket object when the connection occurs. ServerSocket serverSocket = new ServerSocket(2317); // The Socket object represents the connection between // the server and client, including a full duplex // connection Socket clientConnection = serverSocket.accept(); // Use Java io classes to write text (as opposed to // unknown bytes of some sort) to the client OutputStream os = clientConnection.getOutputStream(); PrintStream ps = new PrintStream(os); ps.println("This client response was written by server FriscoAssignment1"); // to remote client System.out.println("This server response was written by server FriscoAssignment1"); // to server console ps.println("No time to say 'Hello, Goodbye' I'm late, I'm late, I'm late"); // "flush()" in important in that it forces a write // across what is in fact a slow connection ps.flush(); clientConnection.close(); } catch(Exception e) { System.out.println("I am sorry Neo but you took the 'Red pill': " + e); } } }