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