diff --git a/assignments/src/MV3500Cohort2024JulySeptember/homework1/Timberlake/Client.java b/assignments/src/MV3500Cohort2024JulySeptember/homework1/Timberlake/Client.java new file mode 100644 index 0000000000000000000000000000000000000000..0a41995d93457e101d038b4f734c7043e198c572 --- /dev/null +++ b/assignments/src/MV3500Cohort2024JulySeptember/homework1/Timberlake/Client.java @@ -0,0 +1,40 @@ +package MV3500Cohort2024JulySeptember.homework1.Timberlake; + +import java.net.DatagramPacket; +import java.net.DatagramSocket; +import java.net.InetAddress; + +/** + * + * @author Jack + */ +public class Client { + public static void main(String[] args) { + DatagramSocket socket = null; + try { + // Create a socket to communicate with the server + socket = new DatagramSocket(); + InetAddress serverAddress = InetAddress.getByName("localhost"); // Server address (localhost for testing) + byte[] sendData = new byte[1024]; // Buffer to store data to send + byte[] receiveData = new byte[1024]; // Buffer to store received data + + // Send message to server + 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 + + // Receive response from server + 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 + } catch (Exception e) { + e.printStackTrace(); // Print any exceptions that occur + } finally { + 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 new file mode 100644 index 0000000000000000000000000000000000000000..bf279722e7def83d24e8ea1b70ee0c7ea138e57c --- /dev/null +++ b/assignments/src/MV3500Cohort2024JulySeptember/homework1/Timberlake/Server.java @@ -0,0 +1,44 @@ +package MV3500Cohort2024JulySeptember.homework1.Timberlake; + +import java.net.DatagramPacket; +import java.net.DatagramSocket; +import java.net.InetAddress; + +/** + * + * @author Jack + */ +public class Server { + public static void main(String[] args) { + DatagramSocket socket = null; + + try { + // Create a socket to listen on port 9876 + socket = new DatagramSocket(9876); + byte[] receiveData = new byte[1024]; // Buffer to store incoming data + byte[] sendData = new byte[1024]; // Buffer to store outgoing data + + while (true) { + // Receive packet from client + 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 + + // 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 + 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 + } + } catch (Exception e) { + e.printStackTrace(); // Print any exceptions that occur + } finally { + if (socket != null && !socket.isClosed()) { + socket.close(); // Close the socket to release resources + } + } + } +} diff --git a/presentations/03_TCPIP.pptx b/presentations/03_TCPIP.pptx index cfeb46d5f8201f8c3a86fb7fef0282772a0ffb6a..0df55519be43aef782da3a3e8254d9073f34c138 100644 Binary files a/presentations/03_TCPIP.pptx and b/presentations/03_TCPIP.pptx differ