package j4; // RMIによる分散処理プログラムの実装例 // (5)クライアントプロセス実装のクラスファイル // PiClient.java // このクラスは、クライアントプロセスのクラスです // 分散処理システムにおけるクライアントの機能を記述します // RMIレジストリにおける名前の取得や、サーバへの仕事の依頼を行います // 使用方法 // java j4.PiClient サーバ名 // なお、クライアント起動の前に、サーバとレジストリを起動してください // ライブラリの利用 import java.rmi.Naming; //PiClientクラス public class PiClient{ // mainメソッド public static void main(String args[]){ long result ;//サーバの返す値 long millis ;//経過時間 long maxloopcount = 10000000 ;//発生する点の個数 // 引数の指定がなかった場合はlocalhost if (args.length==0) args = new String[]{"localhost"}; try{ //計算開始 System.out.println("Start") ; //現在の時刻(ミリ秒) millis = System.currentTimeMillis() ; //rmiregistryによるサーバの検索 Pi p = (Pi)Naming.lookup("//"+args[0]+"/PiService") ; //サーバのputPIメソッドによるπの計算 result=p.putPi(maxloopcount); //計算終了、経過時間の測定 //経過時間にはネットワーク処理も含まれます millis = System.currentTimeMillis() - millis ; //πの値と経過時間の出力 System.out.println((double)result/maxloopcount*4) ; System.out.println((double)millis/1000 + "sec") ; }catch(Exception e){ System.out.println(e) ; } } }