簡體   English   中英

連接到Java RMI服務器

[英]Connecting to java RMI server

我是Java RMI的新手,我正在按照一個教程學習它。 它使用服務器,代碼清單如下所示

  1. 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(); } } 
  2. 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM