RMI problem mit RMI

Status
Nicht offen für weitere Antworten.

Finkes

Neues Mitglied
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:
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)
		{
		
		}	
	}
}
Client:
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);
		}
	}

}
das Interface:
Java:
import java.rmi.*;

public interface Interface extends Remote
{
	public String GetName() 
		throws RemoteException;
		
	public int GetId()
		throws RemoteException;
}
... und dessen Implementierung RemoteObjectImpl:
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;
	}
}
was mache ich falsch ?
muss ich eine andere IP angeben ?
 
Zuletzt bearbeitet von einem Moderator:
Wenn du 127.0.0.1 benutzt dann sollte Client und Server auf der gleichen Maschine laufen.

- Alex
 
ich habe zuerst den Server per Terminal (Linux) und dann den Client über ein anderes Terminal gestartet. Beides läuft auf der gleichen Maschine
 
probier mal auf Serverseite ein "createRegistry" statt "locateRegistry" ...

- Alex
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben