Comunicação com Sockets UDP

Olá, estou desenvolvendo um programa de comunicação com sockets UDP em java,
oque eu consegui fazer até o momento é:

o servidor fica online, esperando alguma mensagem.
e um cliente envia uma mensagem(função) para o servidor processar.

eu gostaria de desenvolver algo em que tipo, o servidor processe a mensagem, e devolva um resultado ou alguma mensagem para um dos clientes… alguém sabe como?

Qual destes não conseguiu implementar?

criei tudo certo, está tudo certo, oque falta é quando o servidor recebe a mensagem, gostaria de retornar a mensagem para todos os clientes e/ou certo cliente…

Posta o código.
P.S: Se você der uma pequena pesquisada no google. acha milhares de exemplos…

Servidor:

private static DatagramSocket socket;
private static final byte[] buf = new byte[20];

public static void main(String[] args) {
	try {
		socket = new DatagramSocket(20000);
	} catch (SocketException ex) {
		console("Ocorreu um erro ao tentar abrir na porta 20k");
		return;
	}
	new Thread(() -> {
		while (true) {
			try {
	            DatagramPacket pack = new DatagramPacket(buf, buf.length);
	            socket.receive(pack);
	            
	            byte[] received_data = pack.getData();
	            String received_msg = new String(received_data); 
	            InetAddress origin_address = pack.getAddress();
	            int origin_port = pack.getPort();
	            
	            console("  Mensagem:             "+received_msg);
	            console("  Endereço de origem:   "+origin_address.getHostAddress());
	            console("  Porta de origem:      "+origin_port);
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}).start();
}

public static void console(String mensagem) {
	System.out.println(mensagem);
}

Cliente:

    try {
	    DatagramSocket socket = new DatagramSocket(10000);
	    
        String msg = "teste";
        
        byte[] msg_buf = msg.getBytes();
        int msg_size = msg_buf.length;
        InetAddress destination_address = InetAddress.getLocalHost();
        int destination_port = 20000; 

        DatagramPacket pack = new DatagramPacket(msg_buf, msg_size, destination_address, destination_port);
        
        socket.send(pack);

    } catch (Exception e){
        System.out.println(e.getMessage());
    }

Vê aí se te ajuda

não ajudou… o servidor não devolve a mensagem/resultado para o cliente.