2013-06-12 2 views
0

Java로 간단한 RMI 애플리케이션을 구현하고 싶습니다.RMI 구현 Java

여기 내 수업이 있습니다.

RMIInterface;

public interface RMIInterface extends Remote 
{ 
    String translate (String wordInTurkish) throws RemoteException ; 
} 

RMIImplementation;

public class RMIImplementation implements RMIInterface 
{ 
    @Override 
    public String translate (String wordInTurkish) 
    { 
     if (wordInTurkish.equalsIgnoreCase("Merhaba")) { return "Hello" ; } 
     if (wordInTurkish.equalsIgnoreCase("..." )) { return "..." ; } 

     return "Not found in the dictionary" ; 
    } 
} 

RMIServer;

public class RMIServer 
{ 
    public static void main (String args[]) throws Exception 
    { 
     String codebase = "http://localhost:8080/rmi/" ; 
     String name  = "RMIInterface"    ; 
     System.setProperty("java.rmi.server.codebase" , codebase) ; 
     RMIImplementation obj = new RMIImplementation(); 
     RMIInterface  stub = (RMIInterface) UnicastRemoteObject.exportObject(obj , 0); 
     LocateRegistry.createRegistry(2020).bind(name, stub); 
    } 
} 

RMIClient;

public class RMIClient 
{ 
    public static void main (String args[]) throws Exception 
    { 
     String host = "localhost" ; 
     String name = "RMIInterface" ;  
    } 
} 

어떻게하면 RMIClient를 구현할 수 있으며 다른 부분에는 문제가 있습니까?

+0

여기에 좀 가질 수 있습니다 http://docs.oracle.com/javase/tutorial/rmi/ – Reda

+0

당신은 RMI의 튜토리얼의 샘플로보고 있습니다을하는 JDK와 함께 제공됩니까? –

+0

(RMI와 관련이 없지만 터키어 그룹은 대소 문자와 관련하여 문제가 있음을 알고 있습니다 (특히 문자 'i'로 표시). –

답변

1

노력이

RMIInterface cl = (RMIInterface) new InitialContext().lookup("rmi://localhost:2020/RMIInterface"); 
    String res = cl.translate("xxx"); 
+0

감사합니다. 그것은 잘 작동합니다. – xxlali

1
RMIInterface remote = (RMIInterface) 
LocateRegistry.getRegistry("localhost",8080).lookup("RMIInterface"); 
remote.translate("merhaba"); 
0
serverAddress=127.0.0.1 
rmiRegistiry=rmi://127.0.0.1/DanBankServer 

Registry locateServerRegistery = LocateRegistry.getRegistry(serverAddress); 
System.out.println("Server Registery is been looked up for address: "+rmiRegistiry); 
SekelatonInterface danBankServer = (SekelatonInterface) locateServerRegistery.lookup(serverRmiUrl);