1

最初に、私が取得している例外があります: http://i.imgur.com/dE5Ou.png

少し背景を説明するために、Java の RMI を使用して 2 台のリモート コンピューター (クライアント/サーバー) を接続する単純な RMI プログラムを作成しようとしています。サーバー プログラムを起動して実行していますが、クライアント プログラムを実行すると、上記のリンクに示されている例外が発生します。192.168.0.104 に接続するように指示しているので、「接続がホストへの接続を拒否しました: 127.0.1.1」と表示されるのはなぜですか?

クライアント

public class Client 
{
public static void main(String[] args)
{
ServerInterface server;     
Registry registry;

try
    {
    registry = LocateRegistry.getRegistry("192.168.0.104", (new Integer(1099)).intValue());         

    server = (ServerInterface)Naming.lookup("//192.168.0.104/ServerTest");

    String serverString = server.getAndSetMessage("Connecting");

    System.out.println("Reply from the server is: " + serverString);
    }
    catch(Exception e)
    {
        e.printStackTrace();
    System.exit(1);
    }


}
}

サーバ

public class Server extends UnicastRemoteObject implements ServerInterface 
{

static String hostName = "192.168.0.104";
String name;

public Server(String name) throws RemoteException
{
    super();
    this.name = name;

}

public String getAndSetMessage(String message) throws RemoteException
{
    return("My name is " + name + " Thanks for message " + message);
}

public static void main(String args[]) 
{
    try
    {
        String objectname = "ServerTest";

        Server theServer = new Server(objectname);
        Naming.rebind("//"+hostName+"/"+objectname,theServer);

        System.out.println("//"+hostName+"/"+objectname);
        System.out.println("I am Registered");

    }
    catch (Exception ex)
    {
        System.out.println(ex);
        System.exit(1);
    }

}

}
4

1 に答える 1

2

次のコードをサーバーに追加してみてください。

System.setProperty("java.rmi.server.hostname", "192.168.0.104");
于 2012-10-29T18:56:53.030 に答える