T
tuxedo
Gast
Servus,
ich stehe gerade vor dem Problem dass ich mit meinem RMI Server nicht weiß welcher Client die jeweilige Servermethode aufruft...
Folgendes Szenario:
Der Client holt sich das RMI Serverobjekt und ruft damit eine Login-Methode am Server auf. Als Argument übergibt der Client der Methode ein Callback-Objekt gemäß folgendem Interface:
Das funktioniert prima. Der Server kann dann mit diesem Objekt Methoden beim Client aufrufen. Soweit so gut.
Wenn sich der Client nun ausloggen möchte ruft er eine Logout-Methode im Serverobjekt auf.
Aber woher weiß jetzt der Server welcher Client die Methode aufgerufen hat? Kann mir irgendwie nicht vorstellen, dass der Client immer seine ID als Argument übergeben muss damit der Server weiß woher der Aufruf kommt.
Was mich auch gerade etwas verwirrt: Hab ich mit RMI multiple Serverobjekt-Instanzen (jeder Client erhält eine eigene Instanz) oder greifen alle verbundenen Clients auf ein und dasselbe Objekt zu?
*verwirrt bin*
Kann mir da jemand helfen?
Gruß
Alex
[update]
okay, scheinbar gibt es nur eine einzige Serverobjekt-Instanz die alle Clients erhalten (hab die String-Repräsentation des Rmi-Serverobjekts bei mehreren verbundenen Clients verglichen).
ich stehe gerade vor dem Problem dass ich mit meinem RMI Server nicht weiß welcher Client die jeweilige Servermethode aufruft...
Folgendes Szenario:
Der Client holt sich das RMI Serverobjekt und ruft damit eine Login-Methode am Server auf. Als Argument übergibt der Client der Methode ein Callback-Objekt gemäß folgendem Interface:
Code:
public interface ClientCallback extends Remote {....}
Das funktioniert prima. Der Server kann dann mit diesem Objekt Methoden beim Client aufrufen. Soweit so gut.
Wenn sich der Client nun ausloggen möchte ruft er eine Logout-Methode im Serverobjekt auf.
Aber woher weiß jetzt der Server welcher Client die Methode aufgerufen hat? Kann mir irgendwie nicht vorstellen, dass der Client immer seine ID als Argument übergeben muss damit der Server weiß woher der Aufruf kommt.
Was mich auch gerade etwas verwirrt: Hab ich mit RMI multiple Serverobjekt-Instanzen (jeder Client erhält eine eigene Instanz) oder greifen alle verbundenen Clients auf ein und dasselbe Objekt zu?
*verwirrt bin*
Kann mir da jemand helfen?
Gruß
Alex
[update]
okay, scheinbar gibt es nur eine einzige Serverobjekt-Instanz die alle Clients erhalten (hab die String-Repräsentation des Rmi-Serverobjekts bei mehreren verbundenen Clients verglichen).