Hi Leute,
Ich habe folgendes Problem.
Ich habe eine Client / Server Architektur, wo sich mehere Clients auf einem Server anmelden können. Wird der Client gestartet, wird er selber ein temporärer Server, der so lange da sein soll bis der Client seine Applikation schließt, das wurde gemacht da der Server Meldungen zum Client schicken muss die nicht über einen return wert gehen, d.h. der Client muss für diesen zeitpunkt als Server fungieren. Mit dem anmelden auf dem Server schickt jeder Client seine IP via methodenaufruf mit in dem fall
xy.uebergebeClientIp(String ip);
in Dieser Methode wird dann direkt ein Naming.lookup auf den Client gemacht mit
Folgendes Problem.. ich war bis dato in dem aberglauben das RMI irgendwie so ne art "Threading" beinhaltet und es niemals probleme mit der methode oben geben kann. nur wenn sich mehr als 1 Person beim server anmeldet bekommt immer der letzt angemeldete User die Nachrichten die normalerweise garnicht für ihn bestimmt waren, sondern für einen User der sich viel früher angemeldet hat. D.h. er bildet sich immer nen neues Objekt "v" und überschreibt das alte. Wie bekomme ich es nun hin das er dies nicht tut, sodass jede Nachricht den User erreicht den es auch erreichen sollte.
Sry das der Code mit hand reingeschrieben wurde aber habe die Daten nicht auf dem System hier und musste es deswegen so schreiben. Hoffe man kann mir in dem Sinne vllt trotzdem weiterhelfen.
Danke
lg,
Raidri
Ich habe folgendes Problem.
Ich habe eine Client / Server Architektur, wo sich mehere Clients auf einem Server anmelden können. Wird der Client gestartet, wird er selber ein temporärer Server, der so lange da sein soll bis der Client seine Applikation schließt, das wurde gemacht da der Server Meldungen zum Client schicken muss die nicht über einen return wert gehen, d.h. der Client muss für diesen zeitpunkt als Server fungieren. Mit dem anmelden auf dem Server schickt jeder Client seine IP via methodenaufruf mit in dem fall
xy.uebergebeClientIp(String ip);
in Dieser Methode wird dann direkt ein Naming.lookup auf den Client gemacht mit
Code:
public void uebergebeClientip(String ip)
{
v = (IVerteilung) Naming.lookup("rmi://"+ip+":7777/verteilung");
}
Folgendes Problem.. ich war bis dato in dem aberglauben das RMI irgendwie so ne art "Threading" beinhaltet und es niemals probleme mit der methode oben geben kann. nur wenn sich mehr als 1 Person beim server anmeldet bekommt immer der letzt angemeldete User die Nachrichten die normalerweise garnicht für ihn bestimmt waren, sondern für einen User der sich viel früher angemeldet hat. D.h. er bildet sich immer nen neues Objekt "v" und überschreibt das alte. Wie bekomme ich es nun hin das er dies nicht tut, sodass jede Nachricht den User erreicht den es auch erreichen sollte.
Sry das der Code mit hand reingeschrieben wurde aber habe die Daten nicht auf dem System hier und musste es deswegen so schreiben. Hoffe man kann mir in dem Sinne vllt trotzdem weiterhelfen.
Danke
lg,
Raidri