// CountClient.java
import java.rmi.*;

public class CountClient { 
  public static void main(String args[]) { 
    try { 
      // Localiza o serviço pelo nome através do
      // rmiregistry executando na máquina local
      // e operando na porta default (1099)
      Remote remRef = Naming.lookup("Count001");
      // Converte referência do tipo "Remote" para
      // uma referência do tipo da interface do 
      // serviço
      Count myCount = (Count) remRef;
      
      // Realiza operações com objeto remoto
      int initValue = myCount.get();
      System.out.print("De " + initValue + " para ");
      long startTime = System.currentTimeMillis();
      for (int i = 0 ; i < 1000 ; i++ ) 
	myCount.increment();
      long stopTime = System.currentTimeMillis();
      System.out.println(myCount.get());
      
      // Calcula tempo médio por incremento
      System.out.println("Avg Ping = "
			 + ((stopTime - startTime)/1000f)
			 + " msecs");
    } 
    catch(Exception e) { 
      e.printStackTrace();
    }
    System.exit(0);
  }
}