Also hallo erst einmal!
Ich hab ein kleines Problem das mir keine Ruhe lässt! Ich muss für die Schule eine Jahresarbeit machen und hab mich dazu entschieden einen kleinen Messenger auf RMI-Basis zu programmieren.
Es geht um folgendes:
Wenn ich etwas über das Programm verschicken will, benötige ich eine Variable des Typs meines Interfaces. Verschicke ich nun eine Nachricht muss der Variablenname dem Namen entsprechen mit dem ich das andere Programm in der RMIRegistry angemeldet habe. Soviel zu dem drum herum!
Das Problem:
Ich habe eine List in der alle Benutzer des Programmes sind. Mit einem Doppelklick auf auf einen Eintrag soll ein Fenster geöffnet werden der als Client dient und Nachrichten sendet und empfängt. Ich will natürlich nur eine Klasse (!!!!) schreiben, das heißt sie muss allgemeingültig sein!!! Das heißt wiederum ich muss die Variable meines Interfaces dynamisch benennen können?! Geht das oder gibt es da RMI spezifische Lösungen?
Kleines Beispiel:
>class Connector{
....
Interface a=new InterfaceImpl(); //erstellen des Objekts des Interface
Naming.rebind("rmi://localhost:1099/ShortService",a); // anmelden in der RMIRegistry das Unterstrichene ist der Name mit dem das Programm in der RMIRegistry angemeldet wird
....
}
>class Client{
....
Interface a=(Interface)Naming.lookup("rmi://localhost:1099/ShortService"); // hier wird nachgeschaut ob es ShortService in der RMIRegistry überhaupt gibt
a.send("hello world"); // hier wird an ShortService gesendet
...
}
Also ich könnt natürlich für jeden User einen neuen Client schreiben aber das ist absolut nicht das was ich mir vorstelle!!! Ich hoffe ich habe alles einigermaßen verständlich erklärt wenn nicht einfach noch einmal nachfragen!
Ich danke euch schon im voraus!
Mfg Raffi
Ich hab ein kleines Problem das mir keine Ruhe lässt! Ich muss für die Schule eine Jahresarbeit machen und hab mich dazu entschieden einen kleinen Messenger auf RMI-Basis zu programmieren.
Es geht um folgendes:
Wenn ich etwas über das Programm verschicken will, benötige ich eine Variable des Typs meines Interfaces. Verschicke ich nun eine Nachricht muss der Variablenname dem Namen entsprechen mit dem ich das andere Programm in der RMIRegistry angemeldet habe. Soviel zu dem drum herum!
Das Problem:
Ich habe eine List in der alle Benutzer des Programmes sind. Mit einem Doppelklick auf auf einen Eintrag soll ein Fenster geöffnet werden der als Client dient und Nachrichten sendet und empfängt. Ich will natürlich nur eine Klasse (!!!!) schreiben, das heißt sie muss allgemeingültig sein!!! Das heißt wiederum ich muss die Variable meines Interfaces dynamisch benennen können?! Geht das oder gibt es da RMI spezifische Lösungen?
Kleines Beispiel:
>class Connector{
....
Interface a=new InterfaceImpl(); //erstellen des Objekts des Interface
Naming.rebind("rmi://localhost:1099/ShortService",a); // anmelden in der RMIRegistry das Unterstrichene ist der Name mit dem das Programm in der RMIRegistry angemeldet wird
....
}
>class Client{
....
Interface a=(Interface)Naming.lookup("rmi://localhost:1099/ShortService"); // hier wird nachgeschaut ob es ShortService in der RMIRegistry überhaupt gibt
a.send("hello world"); // hier wird an ShortService gesendet
...
}
Also ich könnt natürlich für jeden User einen neuen Client schreiben aber das ist absolut nicht das was ich mir vorstelle!!! Ich hoffe ich habe alles einigermaßen verständlich erklärt wenn nicht einfach noch einmal nachfragen!
Ich danke euch schon im voraus!
Mfg Raffi