hoi all,
wollte mich ein bisschen in RMI einarbeiten. Hab dazu ein RMI Chat gefunden und anstatt ein Client in einem JFrame, habe ich ein kleines Java Applet gebaut, nichts grossartiges. Also lokal auf meinem xampp Server klappts auch ohne Probleme.
Da bekomme ich auch ein anständiges Handle des Client zurück :
und ergo kann ich auf alle Clients Callbacks schicken
Exportier ich das ganze auf meine linux fc5 Kiste, klappt die Übergabe von den Clienthandles zum Server nicht.
Das Applet lädt ewig und es kommt nichts. Die Exception Routine stell ich im Applet über paint dar... aber da nichts lädt. nun ja. Wie alles in ca. programmiert ist, sieht man im oben genannten Link.
Brech ich den Appletladevorgang ab .. kommt natürlich nen io.EOF Exception...
Auf meinem Server sieht das alles in etwa so aus:
hab alle Klassen kompeliert,
einmal unter dem jdk/bin Order.
/usr/java/jdk_bla/bin/ <package>
und fürs Applet in einem fürs Web freigegeben Ordner.
/var/www/html/chat/ <package>
Benutze die Standard Policy mit permission java.security.AllPermission; , nichts weiter.
Starte den Server über
einwandfrei ..
Jetzt nen bissel code:
Applet:
Server:
und hier hackt es, ob es nun am Server oder am Applet liegt, keine Ahnung. hab on mass ausprobiert .. aber klick hat es leider net gemacht
mfg retn
wollte mich ein bisschen in RMI einarbeiten. Hab dazu ein RMI Chat gefunden und anstatt ein Client in einem JFrame, habe ich ein kleines Java Applet gebaut, nichts grossartiges. Also lokal auf meinem xampp Server klappts auch ohne Probleme.
Da bekomme ich auch ein anständiges Handle des Client zurück :
Code:
Proxy[ClientHandle,RemoteObjectInvocationHandler[UnicastRef[liveRef: [endpoint:[192.168.0.61:1530](remote),objID:[-2a55aadc:117c225de:-7ffe, -3225426787350309673]]]]]
Exportier ich das ganze auf meine linux fc5 Kiste, klappt die Übergabe von den Clienthandles zum Server nicht.
Das Applet lädt ewig und es kommt nichts. Die Exception Routine stell ich im Applet über paint dar... aber da nichts lädt. nun ja. Wie alles in ca. programmiert ist, sieht man im oben genannten Link.
Brech ich den Appletladevorgang ab .. kommt natürlich nen io.EOF Exception...
Auf meinem Server sieht das alles in etwa so aus:
hab alle Klassen kompeliert,
einmal unter dem jdk/bin Order.
/usr/java/jdk_bla/bin/ <package>
und fürs Applet in einem fürs Web freigegeben Ordner.
/var/www/html/chat/ <package>
Benutze die Standard Policy mit permission java.security.AllPermission; , nichts weiter.
Starte den Server über
Code:
./java -Djava.security.policy=security.policy -Djava.rmi.server.codebase=file:/usr/java/jdk1.6.0_10/bin/ examples.hello.ChatServer
einwandfrei ..
Jetzt nen bissel code:
Applet:
Code:
public ClientHandle handle;
public void init () {
//rmi lookup
ChatServer server = (ChatServer)Naming.lookup("rmi://<server ip>:<port>/chat-server");
//handle wird erstellt
handle = new ClientHandleImpl(this);
//handle und nick wird an den server übermittelt
session = server.createSession(nickname, handle);
}
Code:
private static Hashtable<Object,Object> sessions = new Hashtable<Object,Object>();
public Session createSession(String nickname, ClientHandle handle) throws RemoteException {
Session s = new SessionImpl(this, nickname, handle);
sessions.put(nickname,s);
return s;
}
und hier hackt es, ob es nun am Server oder am Applet liegt, keine Ahnung. hab on mass ausprobiert .. aber klick hat es leider net gemacht

mfg retn
Zuletzt bearbeitet: