java udp client server program example
https://www.theitroad.com
Here is an example of a UDP client-server program in Java:
UDP Server:
import java.net.*; public class UDPServer { public static void main(String[] args) throws Exception { DatagramSocket serverSocket = new DatagramSocket(9876); byte[] receiveData = new byte[1024]; byte[] sendData = new byte[1024]; while (true) { DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length); serverSocket.receive(receivePacket); String message = new String(receivePacket.getData(), 0, receivePacket.getLength()); System.out.println("Received: " + message); InetAddress clientAddress = receivePacket.getAddress(); int clientPort = receivePacket.getPort(); String response = message.toUpperCase(); sendData = response.getBytes(); DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, clientAddress, clientPort); serverSocket.send(sendPacket); } } }
UDP Client:
import java.net.*; public class UDPClient { public static void main(String[] args) throws Exception { DatagramSocket clientSocket = new DatagramSocket(); InetAddress serverAddress = InetAddress.getByName("localhost"); int serverPort = 9876; String message = "Hello, server!"; byte[] sendData = message.getBytes(); DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, serverAddress, serverPort); clientSocket.send(sendPacket); byte[] receiveData = new byte[1024]; DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length); clientSocket.receive(receivePacket); String response = new String(receivePacket.getData(), 0, receivePacket.getLength()); System.out.println("Response from server: " + response); clientSocket.close(); } }
In this example, the server listens on port 9876 and waits for messages from clients. When a message is received, the server converts it to uppercase and sends it back to the client. The client sends a message to the server, waits for a response, and then prints the response. Note that UDP is connectionless, so there is no need to establish a connection before sending or receiving messages.