0
我是新來的Java RMI,我只是試圖運行「Hello World」程序(代碼顯示在郵件的末尾)如何將文件從服務器導出到客戶端 - Java RMI的
基本上,我在我的一臺計算機中有一個遠程類,一個遠程接口和一個服務器類,另一臺計算機中有一個客戶端類。 我想從使用客戶端的服務器獲取「hello」消息。 問題是如果我沒有遠程接口和客戶端所在的同一目錄下的存根,我無法編譯客戶端並使其運行,並且同時如果我不能運行服務器有那些在服務器相同的目錄中。
我使用javac編譯服務器/遠程類/接口,然後使用rmic編譯器。 「rmic你好」。
我想知道我怎麼能得到這個,而不必在兩臺計算機上的所有文件(這就是爲什麼我希望把它分發)
提前感謝合作!
代碼:
遠程接口:
import java.rmi.*;
//Remote Interface for the "Hello, world!" example.
public interface HelloInterface extends Remote {
public String say() throws RemoteException;
}
遠程類:
import java.rmi.*;
import java.rmi.server.*;
public class Hello extends UnicastRemoteObject implements HelloInterface {
private String message;
public Hello (String msg) throws RemoteException {
message = msg;
}
public String say() throws RemoteException {
return message;
}
}
客戶: 進口的java.rmi。*;
public class Client
{
public static void main (String[] argv)
{
try
{
HelloInterface hello= (HelloInterface) Naming.lookup(host); //the string representing the host was modified to be posted here
System.out.println (hello.say());
}
catch (Exception e)
{
System.out.println ("Hello Server exception: " + e);
}
}
}
服務器:
public static void main (String[] argv) {
try {
Naming.rebind ("Hello", new Hello ("Hello, world!"));
System.out.println ("Hello Server is ready.");
} catch (Exception e) {
System.out.println ("Hello Server failed: " + e);
}
}