Hallo,
ich habe da ein Probelm, komm überhaupt nicht weiter, kann jemand von euch helfen ?
Also, ich habe zwei kleine Java Programme geschrieben die RMI nutzen, einen Server und einen Client...
Der Client kann aber nicht connecten, also zur rmi registry schon, aber tcp wohl nicht...
PC1 opensuse 10.3 und PC2 opensuse 10.2
Das Server Programm auf PC1 ist erreichbar von PC2 (getestet mit telnet).
Es ist bei beiden Programmen ein Security Manager installiert (siehe code).
Meine rmi.policy datei hat den Inhalt und ist bei beiden Programmen gleich :
Meine Vermutung ist das da irgenwas mit den Security Manager rechten schief geht (die globale Java Security.policy erlaubt erweiterungen über Kommandozeile)...
Bekomme die Exception vom Client :
Wie man an der Ausgabe sieht, kann der Client sich von der Registry auf PC1 das remote object "Server" holen bzw. kennt es, aber mehr dann auch nicht !
Das ist die Ausgabe wenn das Server Programm nicht läuft :
Code vom Client:
Bin da mitlerweile total ratlos !
Wo kommt die 127.0.0.2 her? in der /etc/hosts steht nix davon.
So erstmal erschlagen mit Fragen, Vermutungen und Code, bitte bitte, hat jemand ne Idee? Oder einen Vorschlag?
ich habe da ein Probelm, komm überhaupt nicht weiter, kann jemand von euch helfen ?
Also, ich habe zwei kleine Java Programme geschrieben die RMI nutzen, einen Server und einen Client...
Der Client kann aber nicht connecten, also zur rmi registry schon, aber tcp wohl nicht...
PC1 opensuse 10.3 und PC2 opensuse 10.2
Das Server Programm auf PC1 ist erreichbar von PC2 (getestet mit telnet).
Es ist bei beiden Programmen ein Security Manager installiert (siehe code).
Meine rmi.policy datei hat den Inhalt und ist bei beiden Programmen gleich :
Code:
grant{
permission java.security.AllPermission;
};
Meine Vermutung ist das da irgenwas mit den Security Manager rechten schief geht (die globale Java Security.policy erlaubt erweiterungen über Kommandozeile)...
Bekomme die Exception vom Client :
Code:
Registry Remote obj: Server
java.rmi.ConnectException: Connection refused to host: 127.0.0.2; nested exception is:
java.net.ConnectException: Connection refused
Wie man an der Ausgabe sieht, kann der Client sich von der Registry auf PC1 das remote object "Server" holen bzw. kennt es, aber mehr dann auch nicht !
Das ist die Ausgabe wenn das Server Programm nicht läuft :
Code:
java.rmi.ConnectException: Connection refused to host: 192.168.0.11; nested exception is:
java.net.ConnectException: Connection refused
Code vom Client:
Code:
try {
RMISecurityManager sm=new RMISecurityManager();
System.setSecurityManager(sm);
Registry registry=LocateRegistry.getRegistry(ip,port);
System.out.println("Registry Remote obj: "+registry.list()[0]);
serverInterface server=(serverInterface)registry.lookup(registry.list()[0]);
System.out.println(server.method());
}
catch (Exception ex)
{
System.out.println(ex);
}
Bin da mitlerweile total ratlos !
Wo kommt die 127.0.0.2 her? in der /etc/hosts steht nix davon.
So erstmal erschlagen mit Fragen, Vermutungen und Code, bitte bitte, hat jemand ne Idee? Oder einen Vorschlag?
Zuletzt bearbeitet: