JimmyÀÇ È¨ÆäÀÌÁö > Java > RMI°­ÁÂ1(±âº»±¸¼º)

       

Á¦¸ñ : rmiÀÇ ±âº»

// Hello.java
// remote interface
public interface Hello extends java.rmi.Remote {
	String sayHello() throws java.rmi.RemoteException;
}


// HelloImpl.java
// interface implement + server
import java.rmi.*;
import java.rmi.server.UnicastRemoteObject;

public class HelloImpl
	extends UnicastRemoteObject
	implements Hello
{   
    private String name;
 
    public HelloImpl(String s) throws java.rmi.RemoteException {
	super();
	name = s;
    }
    
    public String sayHello() throws RemoteException {
	return  "Hello World!";
    }

    public static void main(String args[]) 
    {
	// Create and install the security manager
	System.setSecurityManager(new RMISecurityManager());

	try {
	    HelloImpl obj = new HelloImpl("HelloServer");
	    // Naming.rebind("//host-name/rmi-nameHelloServer", obj);
	    Naming.rebind("//www.sbr.net/HelloServer", obj);
	    System.out.println("HelloImpl created and bound in the registry to the name HelloServer");

	} catch (Exception e) {
	    System.out.println("HelloImpl.main: an exception occurred:");
	    e.printStackTrace();
	}
    }
}


// HelloClient.java
// client
import java.rmi.*;
public class HelloClient {

    public static void main(String args[])
    {
    String message = "";
        Hello obj = null;
        try {
        System.setSecurityManager(new RMISecurityManager());
                                    
        // obj = (Hello)Naming.lookup("//host-name/rmi-name");
           obj = (Hello)Naming.lookup("//www.sbr.net/HelloServer");
        } catch (Exception e) {
          System.out.println("1");
            e.printStackTrace();
        }
       
        try {
        message = obj.sayHello();

        } catch (Exception e) {
            System.out.println("HelloApplet: an exception occurred:");
            e.printStackTrace();
        }finally{
        System.out.println(message);
        }
    }
}


¼³¸í:
 
 1. ÆÄÀϱ¸¼º
    clientÃøÀÇ ÇÊ¿äÈ­ÀÏ.
    Hello.java, HelloClient.java
    ServerÃøÀÇ ÇÊ¿äÈ­ÀÏ.
    Hello.java, HelloImpl.java
 
 2.ServerÃø ÁøÇà°úÁ¤.
   1) javac HelloImpl.java <enter>
   2)  unset CLASSPATH <enter>
       unsetenv CLASSPATH <enter>
       rmiregistry & <enter>
   3) rmic HelloImpl <enter>
   4) java -Djava.rmi.server.codebase=http://url/ HelloImpl & <enter>
      ex)
      java -Djava.rmi.server.codebase=http://www.sbr.net/test/ HelloImpl & <enter>
      ÁÖÀÇ) test´ÙÀ½¿¡ / ¸¦ ²À »ç¿ëÇØ¾ßÇÑ´Ù.
    
 3.ClientÃø ÁøÇà°úÁ¤.
   1) javac HelloClient.java
   2) java HelloClient      
 
 Âü°í) À§ÀÇ ³»¿ëÀº jdk1.1.5 doc¿¡ ÀÖ´ø ³»¿ëÀ» ÇѱÛÈ­ ÇÑ ³»¿ëÀÔ´Ï´Ù.

 
 
       
       



Jimmy´Â ´©±¸Àΰ¡bit10ÁÖ¼Ò·Ï - ¹æ¸í·Ï - E-mail

½Åºñ·Î - °æÈñ´ëÀüÀÚ°ú88Çйø¸ðÀÓ¹æ - ¶óÀÌÄÚ½º - Æ®¶óÀÌÆ÷µå


Âü°í·Î Á¦È¨ÆäÀÌÁöÀÇ Çü½ÄÀº ¶óÀÌÄÚ½º ȨÆäÀÌÁöÀÇ ¼Ò½º¸¦ ÂüÁ¶ÇÏ¿´½À´Ï´Ù.