/* udpserver.java */ import java.io.*; import java.net.*; public class udpserver { public static void main(String[] args) throws IOException { DatagramSocket sock = null; byte recvbuf[] = new byte[4096]; byte sendbuf[]; InetAddress client = null; DatagramPacket p = null; int port = 0; int clientPort = 0; if (args.length != 1) { System.err.println( "usage java udpserver port"); System.exit(0); } try { port = Integer.parseInt(args[0]); } catch (NumberFormatException e) { System.err.println("Arg was not a number"); System.exit(0); } try { sock = new DatagramSocket(port); } catch (IOException e) { System.err.println("Could not listen on port: "+ port); System.exit(1); } while(true) { p = new DatagramPacket(recvbuf, 4096); sock.receive(p); String s = new String(p.getData(),0,p.getLength()); System.out.println("Client sent " + s); client = p.getAddress(); clientPort = p.getPort(); String reply = "I got your message"; sendbuf = reply.getBytes(); DatagramPacket sendPacket = new DatagramPacket(sendbuf, sendbuf.length, client, clientPort); sock.send(sendPacket); } } }