import java.net.*; import java.io.*; public class UDPPoke { protected static int defaultPort = 0; protected static int bufferLength = 8192; public static void main(String[] args) { String hostname; int port; int len; if (args.length > 0) { hostname = args[0]; } else { hostname = "localhost"; port = defaultPort; len = bufferLength; } try { port = Integer.parseInt(args[1]); } catch (Exception e) { port = defaultPort; } try { len = Integer.parseInt(args[2]); } catch (Exception e) { len = bufferLength; } try { DatagramSocket ds = new DatagramSocket(0); InetAddress ia = InetAddress.getByName(hostname); DatagramPacket outgoing = new DatagramPacket(new byte[512], 1, ia, port); DatagramPacket incoming = new DatagramPacket(new byte[len], len); ds.send(outgoing); ds.receive(incoming); System.out.println(new String(incoming.getData(), 0, 0, incoming.getLength())); } // end try catch (UnknownHostException e) { System.err.println(e); } // end catch catch (SocketException e) { System.err.println(e); } // end catch catch (IOException e) { System.err.println(e); } // end catch } // end main }