[英]Connecting to java RMI server
我是Java RMI的新手,我正在按照一個教程學習它。 它使用服務器,代碼清單如下所示
CalculatorServer.java
public class CalculatorServer { public CalculatorServer(){ try { Calculator c = new CalculatorImpl(); Naming.rebind("rmi://localhost:1099/CalculatorService", c); } catch (Exception e) { System.out.println("Trouble"+e); } } public static void main(String args[]){ new CalculatorServer(); } }
CalculatorImpl.java
public class CalculatorImpl extends UnicastRemoteObject implements Calculator { //constructor public CalculatorImpl() throws RemoteException { super(); } //@Override public long add(long a, long b) throws RemoteException { return a + b; } //@Override public long sub(long a, long b) throws RemoteException { return a - b; } //@Override public long mul(long a, long b) throws RemoteException { return a * b; } // @Override public long div(long a, long b) throws RemoteException { return a / b; } }
3.計算器
public interface Calculator extends Remote{
public long add(long a, long b) throws RemoteException;
public long sub(long a, long b) throws RemoteException;
public long mul(long a, long b) throws RemoteException;
public long div(long a, long b) throws RemoteException;
}
當我調試程序時,這是netbeans ide控制台的錯誤; 它說此錯誤:Troublejava.rmi.ServerException:服務器線程中發生RemoteException; 嵌套的異常是:java.rmi.UnmarshalException:錯誤解組參數; 嵌套的異常是:java.lang.ClassNotFoundException:rmi.Calculator
聽起來您沒有運行RMI注冊表,這是與CalculatorServer程序不同的過程。 它位於您的Java bin目錄中。 花一點時間啟動,然后重試您的代碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.