The Java Program: UDPDiscardServer.java

  1 import java.net.DatagramSocket;
  2 import java.net.DatagramPacket;
  3 import java.net.SocketException;
  4 import java.io.IOException;
  5 
  6 public class UDPDiscardServer {
  7 
  8    public final static int discardPort = 9;
  9 
 10    public static void main(String[] args) {
 11       final byte[] buffer = new byte[65507];
 12 
 13       int port;
 14 
 15       try {
 16          port = Integer.parseInt(args[0]);
 17       } catch (Exception e) {
 18           port = discardPort;
 19       }
 20 
 21       try {
 22          final DatagramSocket ds = new DatagramSocket(port);
 23          final DatagramPacket dp = new DatagramPacket(buffer, buffer.length);
 24          final String l = dp.getAddress() + " at port " + dp.getPort() + " says ";
 25          while (true) {
 26             try {
 27                ds.receive(dp);
 28                final String s = new String (dp.getData(), 0, dp.getLength());
 29                System.out.println (l + s);
 30             } catch (IOException e) {
 31                System.err.println(e);
 32             }      
 33          }
 34       } catch (SocketException se) {
 35          System.err.println(se);
 36       }
 37    }
 38 }