From 48e44e5d1154224351edb6ba8179021a2ceff406 Mon Sep 17 00:00:00 2001
From: "Norbraten, Terry" <tdnorbra@nps.edu>
Date: Thu, 25 Jul 2019 10:22:07 -0700
Subject: [PATCH] use try w/ resources

---
 .../src/TcpExamples/TcpExample1Telnet.java    | 35 ++++++++++---------
 1 file changed, 18 insertions(+), 17 deletions(-)

diff --git a/examples/src/TcpExamples/TcpExample1Telnet.java b/examples/src/TcpExamples/TcpExample1Telnet.java
index 074e545611..7811aef19b 100644
--- a/examples/src/TcpExamples/TcpExample1Telnet.java
+++ b/examples/src/TcpExamples/TcpExample1Telnet.java
@@ -43,32 +43,33 @@ public class TcpExample1Telnet
             // 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 TcpExample1."); // to remote clientnc
-            System.out.println("This server response was written by server TcpExample1."); // to server console
             
-            // "flush()" in important in that it forces a write 
-            // across what is in fact a slow connection
-            ps.flush();
-            
-            clientConnection.close();
+            // The Socket object represents the connection between
+            // the server and client, including a full duplex connection
+            try (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 TcpExample1."); // to remote clientnc
+                System.out.println("This server response was written by server TcpExample1."); // to server console
+
+                // "flush()" in important in that it forces a write
+                // across what is in fact a slow connection
+                ps.flush();
+            }
             System.out.println("TcpExample1 completed successfully.");
         }
         catch(IOException e)
         {
-            System.out.println("Problem with TcpExample1Telnet networking:"); // describe what is happening
-            System.out.println("Error: " + e);
+            System.err.println("Problem with TcpExample1Telnet 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.out.println("*** Be sure to stop any other running instances of programs using this port!");
+                System.err.println("*** Be sure to stop any other running instances of programs using this port!");
         }
     }
 }
-- 
GitLab