Hallo
Ich habe ein kleines Problem mit RMI. Ich habe einen Server geschrieben (natürlich mit dem zugehörigen Interface), der folgendermaßen gestartet wird:
Soweit, so gut. Dieses Fragment startet also einen Server an einem gewissen Port. Frei wählbar. Mit folgendem Befehl versuche ich auf den Server via RMI zuzugreifen:
So, ich kann nun zu einigen PC eine Verbindung aufbauen, zu anderen aber nicht.
Bei den anderen ist eine Firewall installiert (keine Ahnung welche, PC's werden nicht von mir verwaltet), jedoch ist der Port freigeschaltet, zu dem ich mich verbinden will.
Meine Frage nun: Was mache ich falsch?? Bzw. muss ich noch einen Port freischalten, damit RMI funktioniert??
danke
Ich habe ein kleines Problem mit RMI. Ich habe einen Server geschrieben (natürlich mit dem zugehörigen Interface), der folgendermaßen gestartet wird:
Code:
private static void checkRegistry(int port) throws NAException {
try {
reg = LocateRegistry.createRegistry(port);
System.out.println("New registry created.");
} catch (RemoteException e2) {
throw new NAException("Not able to create a registry.", "Port blocked. Registry just running?");
}
}
public static void main (String [] args) {
NAimpl na = null;
int port = 1099;
String NAName = "NetworkAgent";
// Create and install a security manager
if (System.getSecurityManager() == null) { System.setSecurityManager(new RMISecurityManager()); }
try {
checkRegistry(port);
//erzeugen des Server Objekts
na = new NAimpl(NAName, port, false);
reg.rebind(NAName, na);
} catch (RemoteException e) {
e.printStackTrace();
} catch (NAException e) {
System.out.println(e.getMessage() + " Break.");
}
}
Soweit, so gut. Dieses Fragment startet also einen Server an einem gewissen Port. Frei wählbar. Mit folgendem Befehl versuche ich auf den Server via RMI zuzugreifen:
Code:
na = (NetworkAgent)LocateRegistry.getRegistry(ip, port).lookup("NetworkAgent");
So, ich kann nun zu einigen PC eine Verbindung aufbauen, zu anderen aber nicht.
Bei den anderen ist eine Firewall installiert (keine Ahnung welche, PC's werden nicht von mir verwaltet), jedoch ist der Port freigeschaltet, zu dem ich mich verbinden will.
Meine Frage nun: Was mache ich falsch?? Bzw. muss ich noch einen Port freischalten, damit RMI funktioniert??
danke