Update the Assignment 3 code to follow the guidelines below it. Purpose of Assignment 3: In assignment 3, you're tasked with writing the server-side software for a simple guessing game. Clients will connect to your server software and guess a random number between 1-99 (inclusive). If they guess correctly, they receive a congratulations message. If not, they'll be told whether their guess was too high or too low. They should also have the option to disconnect from the server at any time. MY SERVER FOR ASSIGNMENT 3: package SocketProgramming; import java.io.InputStream; import java.io.OutputStream; import java.net.InetAddress; import java.net.ServerSocket; import java.net.Socket; import java.util.Random; public class Assignment3 { public static void main(String[] args) { // Create a TCP stream socket bound to 127.0.0.1 and port 7777 to listen for incoming clients try { InetAddress ipAddress = InetAddress.getByName("127.0.0.1"); try (ServerSocket serverSocket = new ServerSocket(7777, 0, ipAddress)) { // Loop forever to listen for connections while (true) { // Accept an incoming connection, creating a socket for that client Socket clientSocket = serverSocket.accept(); // Generate a random integer from 1 to 99 code(inclusive) Random randomNum = new Random(); int answer = randomNum.nextInt(99) + 1; // Send a 'hello' message to the client String message = "hellorn"; OutputStream outputStream = clientSocket.getOutputStream(); outputStream.write(message.getBytes()); // Loop forever to receive new messages from this client while (true) { // Receive an incoming message and decode it using ASCII encoding InputStream inputStream = clientSocket.getInputStream(); byte[] buffer = new byte[1024]; int numBytesReceived = inputStream.read(buffer); String textReceived = new String(buffer, 0, numBytesReceived, "ASCII"); // If the message is a 'quit' message, disconnect from this client and start listening again if (textReceived.equals("quitrn")) { clientSocket.close(); break; } // If the message is a 'guess' message, parse the client's guess, then... else if (textReceived.startsWith("guesst")) { String guessString = textReceived.substring(6); // ...If their guess matches the answer, send a 'correct' message to them and disconnect from the client if (Integer.parseInt(guessString) == answer) { String response = "correctrn"; outputStream.write(response.getBytes()); clientSocket.close(); break; } // ...If their guess is greater than the answer, send a 'too-high' message and continue listening else if (Integer.parseInt(guessString) > answer) { String response = "too-highrn"; outputStream.write(response.getBytes()); } // ...If their guess is less than the answer, send a 'too-low' message and continue listening else { String response = "too-lowrn"; outputStream.write(response.getBytes()); } } } } } } catch (Exception e) { System.err.println("An error occurred: " + e.getMessage()); } } } THE CLIENT FOR ASSIGNMENT 3: using System; using System.Net; using System.Net.Socket.