// GetDateModule.idl module GetDateModule { interface GetDate { string get_date(); longlong get_time(); }; }; // GetDateImpl// Contains the implementation of the methods defined in the IDL file. import GetDateModule.GetDatePOA; import java.lang.String; import java.util.Date; class GetDateImpl extends GetDatePOA { Date dt=new Date(); GetDateImpl() { super(); System.out.println("Encriptor Object Created"); } public String get_date() { String time=dt.toString(); return (time); } publiclong get_time() { return(dt.getTime()); } } // GetDateServer.java import GetDateModule.GetDate; import org.omg.CosNaming.*; import org.omg.CosNaming.NamingContextPackage.*; import org.omg.CORBA.*; import org.omg.PortableServer.*; class GetDateServer { publicstaticvoid main(String[] args) { try { // initialize the ORB org.omg.CORBA.ORB orb = org.omg.CORBA.ORB.init(args,null); // initialize the BOA/POA POA rootPOA = POAHelper.narrow(orb.resolve_initial_references("RootPOA")); rootPOA.the_POAManager().activate(); // creating the GetDate object GetDateImpl GetDate = new GetDateImpl(); // get the object reference from the servant class org.omg.CORBA.Object ref = rootPOA.servant_to_reference(GetDate); System.out.println("Step1"); GetDate h_ref = GetDateModule.GetDateHelper.narrow(ref); System.out.println("Step2"); org.omg.CORBA.Object objRef =orb.resolve_initial_references("NameService"); System.out.println("Step3"); NamingContextExt ncRef = NamingContextExtHelper.narrow(objRef); System.out.println("Step4"); String name = "GetDate"; NameComponent path[] = ncRef.to_name(name); ncRef.rebind(path,h_ref); System.out.println("GetDate Server reading and waiting...."); orb.run(); } catch(Exception e) { e.printStackTrace(); } } } // GetDateClient.java import GetDateModule.*; import org.omg.CosNaming.*; import org.omg.CosNaming.NamingContextPackage.*; import org.omg.CORBA.*; import java.io.*; import java.lang.String; import java.util.Date; class GetDateClient { publicstaticvoid main(String args[]) { GetDate GetDateImpl=null; int i; try { // initialize the ORB org.omg.CORBA.ORB orb = org.omg.CORBA.ORB.init(args,null); org.omg.CORBA.Object objRef = orb.resolve_initial_references("NameService"); NamingContextExt ncRef = NamingContextExtHelper.narrow(objRef); String name = "GetDate"; GetDateImpl = GetDateHelper.narrow(ncRef.resolve_str(name)); Date dt=new Date(); long clientTime=dt.getTime(); System.out.println("Client Date and Time="+dt); String serverDate=(String) GetDateImpl.get_date(); long serverTime=(long) GetDateImpl.get_time(); System.out.println("Server Date and Time="+serverDate); System.out.println("Time Difference in Server and Client(in millisecond)="+(clientTime-serverTime)); } catch(Exception e) { e.printStackTrace(); } } } // OUTPUT Client Date and Time=Thu Dec 04 16:20:22 IST 2005 Server Date and Time=Thu Dec 04 16:20:16 IST 2005
No comments:
Post a Comment