Hallo,
habe ein Problem mein RMI Server und client netzwerkfähig zu machen.
Bin RMI Anfänger und habe das ganze anhand eines Bsp. aufgebaut. Lokal (server und client auf dem gleichen pc) funktionierte es wunderbar. Als ich es dann im Netzwerk probierte ging gar nichts mehr.
Dann habe ich gegoogelt und einige Dinge geändert. Jetzt geht lokal nichts mehr:
Ok, verständlich, ich kann lokal also den server und den client (der ja auch serve rist wegen callback) nicht laufen lassen? Oder was ist das Problem?
Im Netzwerk funktioniert es trotzem noch nicht:
- Ich starte den Server auf PC 1. -> funktioniert
- Ich starte den Client auf PC 2 -> funktioniert
Dann rufe ich im client 1 methode auf die "login" heisst. Das geht. Der server gibt auch einen entsprechenden output.
Jede weitere Aktion vom client führt zu einer
Ja ich hab dannach gegoogelt, aber das alles hilft nicht wahnsinning viel.
Any ideas?
habe ein Problem mein RMI Server und client netzwerkfähig zu machen.
Bin RMI Anfänger und habe das ganze anhand eines Bsp. aufgebaut. Lokal (server und client auf dem gleichen pc) funktionierte es wunderbar. Als ich es dann im Netzwerk probierte ging gar nichts mehr.
Dann habe ich gegoogelt und einige Dinge geändert. Jetzt geht lokal nichts mehr:
java.rmi.server.ExportException: Port already in use: 1099; nested exception is:
java.net.BindException: Address already in use: JVM_Bind
Ok, verständlich, ich kann lokal also den server und den client (der ja auch serve rist wegen callback) nicht laufen lassen? Oder was ist das Problem?
Im Netzwerk funktioniert es trotzem noch nicht:
- Ich starte den Server auf PC 1. -> funktioniert
Java:
public static void main(String[] args) throws Exception {
// start rmi registry
LocateRegistry.createRegistry(Registry.REGISTRY_PORT); //RMI-Port 1099
Registry registry = LocateRegistry.getRegistry();
IServer server = new ServerImpl();
registry.bind(IServer.BIND_NAME, server);
}
- Ich starte den Client auf PC 2 -> funktioniert
Java:
public static void main(String[] args) throws RemoteException{
Client client;
if (args.length == 0) {
System.setProperty("java.rmi.server.hostname", "localhost");
client = new Client("localhost", 1099, true);
} else {
System.setProperty("java.rmi.server.hostname", args[0]);
client = new Client(args[0], 1099, true);
}
unicastRemoteObject = UnicastRemoteObject.exportObject(client, 1099);
messageCallback = client;
}
Dann rufe ich im client 1 methode auf die "login" heisst. Das geht. Der server gibt auch einen entsprechenden output.
Jede weitere Aktion vom client führt zu einer
java.rmi.NoSuchObjectException: no such object in table
Ja ich hab dannach gegoogelt, aber das alles hilft nicht wahnsinning viel.
Any ideas?