From d5aa1f77d17d2a946f259d1ec3da441c40cdfe31 Mon Sep 17 00:00:00 2001
From: justi <justi@LAPTOP-258UDA82>
Date: Wed, 28 Jul 2021 15:59:46 -0700
Subject: [PATCH] Frank Assignment 1 - still not running

---
 .../homework1/FrankTCPExample3Client.java     | 100 ++++++++++++++++++
 1 file changed, 100 insertions(+)
 create mode 100644 MV3500Cohort2021JulySeptember/homework1/FrankTCPExample3Client.java

diff --git a/MV3500Cohort2021JulySeptember/homework1/FrankTCPExample3Client.java b/MV3500Cohort2021JulySeptember/homework1/FrankTCPExample3Client.java
new file mode 100644
index 0000000000..72a96f5e38
--- /dev/null
+++ b/MV3500Cohort2021JulySeptember/homework1/FrankTCPExample3Client.java
@@ -0,0 +1,100 @@
+package MV3500Cohort2021JulySeptember.homework1; 
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.Reader;
+import java.net.Socket;
+
+/*
+ * To change this license header, choose License Headers in Project Properties.
+ * To change this template file, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+/**
+ *
+ * @author justi
+ */
+
+
+
+public class FrankTCPExample3Client {
+
+    /**
+     */
+
+    public final static String LOCALHOST = "0:0:0:0:0:0:0:1";
+
+    /**
+     * Program invocation, execution starts here
+     * @param args command-line arguments
+     * @throws java.lang.InterruptedException
+     */
+    public static void main(String[] args) throws InterruptedException {
+        
+        // Local variables/fields
+        Socket socket = null;
+        InputStream is;
+        Reader isr;
+        BufferedReader br;
+        String serverMessage;
+        int clientLoopCount = 0;
+        
+        try {
+            while (true)
+            {
+                clientLoopCount++; // increment at beginning of loop for reliability
+                System.out.println(FrankTCPExample3Client.class.getName() + " creating socket...");
+
+                // 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 a Socket
+                // object; the server uses a ServerSocket to wait for
+                // connections.
+                socket = new Socket(LOCALHOST, 2318); // locohost?
+
+                // Now hook everything up (i.e. set up the streams), Java style:
+                is  = socket.getInputStream();
+                isr = new InputStreamReader(is);
+                br  = new BufferedReader(isr);
+
+                // Read a single line written by the server. We'd
+                // do things a bit differently if there were many lines to be read
+                // from the server instead of one only.
+                serverMessage = br.readLine();
+                System.out.println("==================================================");
+                       
+                System.out.print  ("Client loop " + clientLoopCount + ": ");
+                System.out.println("now we're talking!");
+                System.out.println("The message the server sent was: '" + serverMessage + "'");
+                // socket gets closed, either automatically/silently by this code (or possibly by the server)
+                
+                Thread.sleep(500l); // slow things down, for example 500l (long) = 500 msec
+                
+            } // end while(true) // infinite loops are dangerous, be sure to kill this process!
+        } 
+        catch (IOException e)
+        {
+            System.err.println("Problem with " + FrankTCPExample3Client.class.getName() + " networking:"); // describe what is happening
+            System.err.println("Error: " + e);
+            
+            // Provide more helpful information to user if exception occurs due to running twice at one time
+            if (e instanceof java.net.BindException) {
+                System.err.println("*** Be sure to stop any other running instances of programs using this port!");
+            }
+        }
+        finally // occurs after any other activity when shutting down
+        {
+            try {
+                if (socket != null)
+                    socket.close();
+            } catch (IOException e) {}
+            
+            // program exit: tell somebody about that happening.  Likely cause: server drops connection.
+            System.out.println();
+            System.out.println( "FrankTCPExample3Client.class.getName() + exit");
+        }
+    }
+}
-- 
GitLab