From 47d4e0823d18f2f3545a01de6c3f7e0237ef54d2 Mon Sep 17 00:00:00 2001
From: "james.timberlake" <james.timberlake@nps.edu>
Date: Tue, 23 Jul 2024 10:48:00 -0700
Subject: [PATCH] Client+Server UDP Examples

---
 .../homework1/Timberlake/Client.java              | 15 +++++++++++++--
 .../homework1/Timberlake/Server.java              |  4 ++--
 2 files changed, 15 insertions(+), 4 deletions(-)

diff --git a/assignments/src/MV3500Cohort2024JulySeptember/homework1/Timberlake/Client.java b/assignments/src/MV3500Cohort2024JulySeptember/homework1/Timberlake/Client.java
index 0a41995d93..d905f89d60 100644
--- a/assignments/src/MV3500Cohort2024JulySeptember/homework1/Timberlake/Client.java
+++ b/assignments/src/MV3500Cohort2024JulySeptember/homework1/Timberlake/Client.java
@@ -3,6 +3,7 @@ package MV3500Cohort2024JulySeptember.homework1.Timberlake;
 import java.net.DatagramPacket;
 import java.net.DatagramSocket;
 import java.net.InetAddress;
+import java.util.Scanner;
 
 /**
  *
@@ -11,6 +12,7 @@ import java.net.InetAddress;
 public class Client {
     public static void main(String[] args) {
         DatagramSocket socket = null;
+        Scanner scanner = new Scanner(System.in);
         try {
             // Create a socket to communicate with the server
             socket = new DatagramSocket();
@@ -18,8 +20,12 @@ public class Client {
             byte[] sendData = new byte[1024]; // Buffer to store data to send
             byte[] receiveData = new byte[1024]; // Buffer to store received data
 
+            // Get user input
+            System.out.print("Enter message to send to server: ");
+            String message = scanner.nextLine(); //Read user input
+            
             // Send message to server
-            String message = "Hello from client!"; // Message to send
+            //String message = "Hello from client!"; // Message to send
             sendData = message.getBytes(); // Convert message to bytes
             DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, serverAddress, 9876);
             socket.send(sendPacket); // Send packet to server
@@ -28,10 +34,15 @@ public class Client {
             DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
             socket.receive(receivePacket); // Blocking call until a packet is received
             String responseMessage = new String(receivePacket.getData(), 0, receivePacket.getLength());
-            System.out.println("Client Received: " + responseMessage); // Print received response
+            System.out.println("Client received: " + responseMessage); // Print received response
+            
         } catch (Exception e) {
             e.printStackTrace(); // Print any exceptions that occur
+            
         } finally {
+            if (scanner != null) {
+                scanner.close(); // Close scanner 
+            }
             if (socket != null && !socket.isClosed()) {
                 socket.close(); // Close the socket to release resources
             }
diff --git a/assignments/src/MV3500Cohort2024JulySeptember/homework1/Timberlake/Server.java b/assignments/src/MV3500Cohort2024JulySeptember/homework1/Timberlake/Server.java
index bf279722e7..54b88a994b 100644
--- a/assignments/src/MV3500Cohort2024JulySeptember/homework1/Timberlake/Server.java
+++ b/assignments/src/MV3500Cohort2024JulySeptember/homework1/Timberlake/Server.java
@@ -23,12 +23,12 @@ public class Server {
                 DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
                 socket.receive(receivePacket); // Blocking call until a packet is received
                 String message = new String(receivePacket.getData(), 0, receivePacket.getLength());
-                System.out.println("Server Received: " + message); // Print received message
+                System.out.println("Server received: " + message); // Print received message
 
                 // Prepare response to client
                 InetAddress clientAddress = receivePacket.getAddress(); // Get client's address
                 int clientPort = receivePacket.getPort(); // Get client's port
-                String responseMessage = "Hello from server!"; // Response message
+                String responseMessage = "Hello From Server, I received: " + message; // Response message
                 sendData = responseMessage.getBytes(); // Convert response message to bytes
                 DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, clientAddress, clientPort);
                 socket.send(sendPacket); // Send response packet to client
-- 
GitLab