import java.io.*; import java.net.*; // File javac UDPLocalServer1 //Path C:\Java_Core\Socket1\UDPLocalServer1 //http://www.binarytides.com/udp-socket-programming-in-java/ -- modified from public class UDPLocalServer1 { public static void main(String args[]) { DatagramSocket udpSock = null; try { //step 1. creating a server udpSocket udpSock = new DatagramSocket(7777); //buffer to receive incoming data byte[] buffer = new byte[65536]; DatagramPacket incoming = new DatagramPacket(buffer, buffer.length); //Step;2. Wait for an incoming data echo("Server udpSocket created. Waiting for incoming data..."); // step 3 communication while(true) { udpSock.receive(incoming); byte[] data = incoming.getData(); String strIn = new String(data, 0, incoming.getLength()); //echo the details of incoming data - echo(incoming.getAddress().getHostAddress() + " : " + incoming.getPort() + " - " + strIn); strIn = "OK : " + strIn; DatagramPacket dp = new DatagramPacket(strIn.getBytes() , strIn.getBytes().length , incoming.getAddress() , incoming.getPort()); udpSock.send(dp); } } catch(IOException e) { System.err.println("IOException " + e); } } //simple function to echo data to terminal public static void echo(String msg) { System.out.println(msg); } }