Hallo, Ich habe versucht eine kleine Testanwendung mit RMI zu schreiben,
wenn ich diese jedoch ausführe bekomme ich auf Seiten des Clients den Fehler:
hier mein Quellcode:
Server:
Client:
das Interface:
... und dessen Implementierung RemoteObjectImpl:
was mache ich falsch ?
muss ich eine andere IP angeben ?
wenn ich diese jedoch ausführe bekomme ich auf Seiten des Clients den Fehler:
Code:
dominik@dominik-desktop:~$ java Client
java.rmi.ConnectException: Connection refused to host: 127.0.0.1; nested exception is:
java.net.ConnectException: Connection refused
hier mein Quellcode:
Server:
Java:
import java.lang.reflect.Proxy;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
public class Server
{
public static void main(String[] args)
{
try
{
Registry registry = LocateRegistry.getRegistry("127.0.0.1");
Interface interf = new RemoteObjectImpl();
registry.rebind("interf", interf);
}
catch(Exception e)
{
}
}
}
Java:
import java.lang.reflect.Proxy;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
public class Client
{
public static void main(String[] args)
{
try
{
Registry registry = LocateRegistry.getRegistry("127.0.0.1", 1099);
Interface interf = (Interface) registry.lookup("interf");
System.out.println(works!");
}
catch(Exception e)
{
System.out.println(e);
}
}
}
Java:
import java.rmi.*;
public interface Interface extends Remote
{
public String GetName()
throws RemoteException;
public int GetId()
throws RemoteException;
}
Java:
import java.rmi.RemoteException;
import java.rmi.server.*;
public class RemoteObjectImpl
extends UnicastRemoteObject
implements Interface
{
public RemoteObjectImpl()
throws RemoteException
{
}
public String GetName()
throws RemoteException
{
return "Name";
}
public int GetId()
throws RemoteException
{
return 42;
}
}
muss ich eine andere IP angeben ?
Zuletzt bearbeitet von einem Moderator: