Verbindungsprobleme/Applets blockieren sich - Wie kann ich das lösen?

Angiii

Erfahrenes Mitglied
Hallo,

ich habe einen Messaufbau, den ich mit Hilfe diverser Zusatzhardware (u.a. Lantronix Xport) über ein Java-Applet im Webrowser steuern kann. Das Applet ist relativ einfach aufgebaut. Ich habe ein "Connect"-Button mit dem ich eine Verbindung herstelle, diverse Schalter zur eigentlichen Steuerung des Messaufbaus und ein "Disconnect"-Button um die Verbindung wieder zu beenden.

Mein Problem ist, dass nur immer ein PC auf den Messaufbau zugreifen kann. Öffne ich auf mehreren PCs das Java-Aplplet und starte die Verbindung zum Messaufbau, wird die neue Verbindung blockiert. Ich kann keine neue Verbindung öffnen, da ja noch von einem anderem PC aus eine Verbindung besteht. Hier wäre es toll, wenn ich rückverfolgen könnte, welcher PC aktuell eine Verbindung zum Messaufbau hergestellt hat. Ich hab mir dabei gedacht, dass man eventuell über Java die IP des betreffenden Rechners herausfinden könnte um dann eine entsprechende Fehlermeldung aufpoppen zu lassen (z.B. "Labor xy mit der IP 192.168.x.x greift gerade auf den super-duper-Messaufbau zu"). Ist sowas tatsächlich realisierbar?


Ein weiteres Problem ist, wenn vergessen wird, die Verbindung mit dem "Disconnect"-Button zu beenden und einfach normal weitergesurft wird. Die Verbindung beendet sich dann nicht und blockiert so den Zugang zum Messaufbau.
Ist es möglich, das die "Disconnect"-Fkt. automatisch ausgeführt wird, wenn ich die Webseite mit dem Java-Applet verlasse?

Vielen Dank für Eure Hilfe
 
Für Dein zweites Problem gibts die Methode destroy(), die Du überschreiben kannst und so das "disconnect" aufrufen kannst.

Das erste Problem ist schwieriger zu lösen. Du könntest zum Beispiel beim Verbinden die IP in ein Textfile auf dem Server schreiben und beim Disconnecten wieder löschen. Steht nix drin, wurde keine Verbindung hergestellt. Wenn doch, hast Du die IP des Clients.
 
Zuletzt bearbeitet:
@matdacat: Danke für deine schnelle Antwort! Die Sache mit destroy() habe ich gerade getestet und es funktioniert schon sehr schön.

Nett wäre natürlich noch, wenn vor dem Verbindungsabbruch mit destroy() noch ein Popup käme, was einem fragt, ob man die Verbindung auch wirklich beendet haben will. Bei meinen Versuchen blitze das PopUp zwar kurz auf, wurde aber dann gleich vom Browser mitsamt dem Applet geschlossen. Um diesen Effekt zu verhindern müsste ich wahrscheinlich meinen Browser hacken, oder? Bei sowas hat ja in erster Linie der Browser das sagen...

Bei meinem zweiten Problem finde ich das mit dem Textfile schon einen schönen Ansatz. Jedoch kann ich nicht auf den Server schreiben, höchsten ev. auf mein Xport-Webserverding mti dem ich den Messaufbau ansteuere. Ich mach mich da mal schlau.
Jedenfalls danke schonmal für deine Hilfe!
 
Zuletzt bearbeitet:
Hallo

ich konnte mein Problem lösen. Ich habe den XPort-Hersteller Lantronix angeschrieben und die konnten mir tatsächlich helfen. Über eine Telnet Verbindung kann ich nun abfragen, ob und wenn ja welcher PC gerade mit dem Gerät verbunden ist. Kaum zu glauben was der kleine Baustein alles kann ;-)
 
Zurück