我正在尝试使用RMI客户端-服务器通信。
我编写了以下类/接口:


接口RemoteInterface扩展Remote
类HelloStub扩展了UnicastRemoteObject实现RemoteInterface
类服务器,我绑定了远程obj
类客户端如下:

import java.rmi.*;

public class Client
 {
     public static void main(String[] args)
    {
         try
        {
        String globalName = "rmi//127.0.0.1:1099/hello";
        RemoteInterface remoteObj = (RemoteInterface)Naming.lookup(globalName);

        System.out.println(remoteObj.SayHello());


        }
        catch(Exception e)
        {
            System.out.println(e.getMessage());
        }



我不明白为什么必须退出接口RemoteInterface进行查找的原因?我不能使用HelloStub类,它是真正的远程obj?

谢谢再见。

最佳答案

如果知道类名,则可以定义Stub类实例而不是RemoteInterface并将查找结果转换为您的Stub。

但是,您将获得定义存根而不是接口的什么好处?

10-02 01:14