import java.net.*;

public class UDP0 {
// command line arguments:
// r  -- read an incoming packet
// w hostname word -- write word to hostname
  public static void main(String[] args) throws Exception {
    byte [] ary= new byte[128];
    DatagramPacket pack=new DatagramPacket(ary,128);
    if (args[0].charAt(0)=='r') {
    // read
      DatagramSocket sock=new DatagramSocket(1111);
      sock.receive(pack);
      String word=new String(pack.getData());
      System.out.println("From: " + pack.getAddress()
        + " Port: " + pack.getPort());
      System.out.println(word);
      sock.close();
    } else { // write
      DatagramSocket sock=new DatagramSocket();
      pack.setAddress(InetAddress.getByName(args[1])); 
      pack.setData(args[2].getBytes());
      pack.setPort(1111);
      sock.send(pack);
      sock.close();
   }
  }
 }
