Beispiel #1
0
  /** Starts a Client application. */
  public static void main(String[] args) {
    if (args.length != 3) {
      System.out.println(USAGE);
      System.exit(0);
    }

    String name = args[0];
    InetAddress addr = null;
    int port = 0;
    Socket sock = null;

    // check args[1] - the IP-adress
    try {
      addr = InetAddress.getByName(args[1]);
    } catch (UnknownHostException e) {
      System.out.println(USAGE);
      System.out.println("ERROR: host " + args[1] + " unknown");
      System.exit(0);
    }

    // parse args[2] - the port
    try {
      port = Integer.parseInt(args[2]);
    } catch (NumberFormatException e) {
      System.out.println(USAGE);
      System.out.println("ERROR: port " + args[2] + " is not an integer");
      // System.exit(0);
    }

    // try to open a Socket to the server
    try {
      sock = new Socket(addr, port);
    } catch (IOException e) {
      System.out.println("ERROR: could not create a socket on " + addr + " and port " + port);
    }

    // create Peer object and start the two-way communication
    try {
      Peer server = new Peer(name, sock);
      (new Thread((Runnable) server)).start();
      server.handleTerminalInput();
      server.shutDown();
    } catch (IOException e) {
      e.printStackTrace();
    }
  }
Beispiel #2
0
  /** Starts a Server-application. */
  public static void main(String[] args) {

    if (args.length != 2) {
      System.out.println(USAGE);
      System.exit(0);
    }

    String name = args[0];
    int port = 0;
    ServerSocket sock = null;
    Socket clientSock = null;

    try {
      port = Integer.parseInt(args[1]);
    } catch (NumberFormatException e) {
      System.out.println(USAGE);
      System.out.println("ERROR: port " + args[2] + " is not an integer");
      System.exit(0);
    }

    try {
      sock = new ServerSocket(port);
    } catch (IOException e) {
      System.out.println("Error: could not create a serverSocket on " + port);
    }

    try {
      while (true) {
        System.out.println("Waiting for new Client.");
        clientSock = sock.accept();
        System.out.println("Received new connection.");
        System.out.println("socket" + clientSock.getInetAddress());
        Peer server = new Peer(name, clientSock);
        Thread clientHandler = new Thread(server);
        clientHandler.start();
        server.handleTerminalInput();
        server.shutDown();
      }
    } catch (IOException e) {
      System.out.println(e);
    }
  }