import java.net.*;
import java.io.*;

public class UdpClient {
  public static void main(String[] argv) {
    try {
      // 接続先の IPアドレスとポート番号
      InetAddress addr = InetAddress.getByName(argv[0]);
      int port = Integer.parseInt(argv[1]);

      // 適当な空いているポート番号にソケットを作る
      DatagramSocket dgSock = new DatagramSocket();
      while (true) {
        byte buff1[]= new byte[512];
        int n = System.in.read(buff1);
        // 送信パケットの作成
        DatagramPacket pa1 = new DatagramPacket(buff1, n, addr, port);
        dgSock.send(pa1);  // パケット送出
        System.out.println("Sent!");

        // 受信パケット用データ領域の作成
        byte buff2[] = new byte[512];
        DatagramPacket pa2 = new DatagramPacket(buff2, buff2.length);
        dgSock.receive(pa2); // パケット受信

        System.out.print("received: ");
        System.out.print(new String(pa2.getData()));
      }
    } catch (Exception e) {
      e.printStackTrace();
      System.exit(1);
    }
  }
}
