Tuesday, 9 June 2015

program for displaying the date and time of the server machine, client machine and the difference between these two date and time


Code for CORBA program for displaying the date and time of the server machine, client machine and the difference between these two date and time in Java



 



 
// 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