import java.io.*; import java.net.*; class UDPServer { public static void main (String args[]) throws Exception { // Create Datagram socket at port 7777 DatagramSocket serverSocket = new DatagramSocket(7777); byte[] receiveData = new byte[1024]; byte[] sendData = new byte[1024]; while(true) { // Create space for received datagram DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length); // Receive datagram serverSocket.receive(receivePacket); String sentence = new String(receivePacket.getData()); System.out.println("Received from client: " + sentence); // Get IP address of the sender InetAddress IPAddress = receivePacket.getAddress(); // Get port number of the sender int port = receivePacket.getPort(); String capitalizedSentence = sentence.toUpperCase() + '\n'; sendData = capitalizedSentence.getBytes(); // Create datagram to send to client DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, IPAddress, port); // Write datagram to socket serverSocket.send(sendPacket); } // Loop back and wait for another datagram } }