diff --git a/deliverables/src/MV3500Cohort2018JulySeptember/homework2/Loeffelman/LoeffelmanAssignment2Client.java b/deliverables/src/MV3500Cohort2018JulySeptember/homework2/Loeffelman/LoeffelmanAssignment2Client.java index 590d660b60456ce9b3f50852f9ba7463b5beddb7..9141adfb87ed486a06da6763111b68c08aa470b3 100644 --- a/deliverables/src/MV3500Cohort2018JulySeptember/homework2/Loeffelman/LoeffelmanAssignment2Client.java +++ b/deliverables/src/MV3500Cohort2018JulySeptember/homework2/Loeffelman/LoeffelmanAssignment2Client.java @@ -9,7 +9,10 @@ import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; +import java.io.OutputStream; +import java.io.PrintStream; import java.net.Socket; +import java.util.Scanner; /** * @@ -22,16 +25,18 @@ public class LoeffelmanAssignment2Client { public static void main(String[] args) { try { - while (true) { - System.out.println("creating socket"); + System.out.println("creating socket"); - // We request an IP to connect to ("localhost") and + //This program establishes allows a client and server + //to send messages back and forth. + System.out.println("Listening:"); + while (true) { + // We request an IP to connect to ("localhost") and // port number at that IP (2317). This establishes // a connection to that IP in the form of the Socket // object; the server uses a ServerSocket to wait for // connections. - Socket socket = new Socket(LOCALHOST, 2317); // locohost? - + Socket socket = new Socket(LOCALHOST, 2317); // locohost? // Read the single line written by the server. We'd // do things a bit differently if many lines to be read // from the server, instead of one only. @@ -40,9 +45,16 @@ public class LoeffelmanAssignment2Client { BufferedReader br = new BufferedReader(isr); String serverMessage = br.readLine(); - System.out.println("=================================================="); - System.out.println("Now we're talking!"); - System.out.println("The message the server sent was " + serverMessage); + System.out.println("Server: " + serverMessage); + + OutputStream os = socket.getOutputStream(); + PrintStream ps = new PrintStream(os); + + Scanner keyboard = new Scanner(System.in); + System.out.println("Send Message to Server:"); + String message = keyboard.nextLine(); + ps.println(message); + // socket gets closed, either automatically/silently this code (or possibly by server) } // end while(true) } diff --git a/deliverables/src/MV3500Cohort2018JulySeptember/homework2/Loeffelman/LoeffelmanAssignment2Server.java b/deliverables/src/MV3500Cohort2018JulySeptember/homework2/Loeffelman/LoeffelmanAssignment2Server.java index 1d0db5018c94e57ee5a5def221dde76b22edf0fa..49b465f6b91c4af71ad927a2f96e851146a42f8e 100644 --- a/deliverables/src/MV3500Cohort2018JulySeptember/homework2/Loeffelman/LoeffelmanAssignment2Server.java +++ b/deliverables/src/MV3500Cohort2018JulySeptember/homework2/Loeffelman/LoeffelmanAssignment2Server.java @@ -5,12 +5,16 @@ */ package MV3500Cohort2018JulySeptember.homework2.Loeffelman; +import java.io.BufferedReader; import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; import java.io.OutputStream; import java.io.PrintStream; import java.net.InetAddress; import java.net.ServerSocket; import java.net.Socket; +import java.util.Scanner; /** * @@ -35,8 +39,11 @@ public class LoeffelmanAssignment2Server { Socket clientConnection = serverSocket.accept(); // block until connected OutputStream os = clientConnection.getOutputStream(); PrintStream ps = new PrintStream(os); - - ps.println("This was written by the server"); + + Scanner keyboard = new Scanner(System.in); + System.out.println("Send message to client:"); + String message = keyboard.nextLine(); + ps.println(message); // Print some information locally about the Socket // connection. This includes the port and IP numbers @@ -55,6 +62,14 @@ public class LoeffelmanAssignment2Server { // different ports? System.out.println("Socket pair: (( " + localAddress.toString() + ", " + localPort + " ), ( " + remoteAddress.toString() + ", " + remotePort + " ))"); + + InputStream is = clientConnection.getInputStream(); + InputStreamReader isr = new InputStreamReader(is); + BufferedReader br = new BufferedReader(isr); + + String serverMessage = br.readLine(); + System.out.println("Client: " + serverMessage); + // Notice the use of flush() and close(). Without // the close() to Socket object may stay open for