# JavaChat? -applet und/oder servlet mit datenbank



## onebigman (7. April 2005)

Hallo zusammen,

ich hab ein problem - bin java anfänger und weiß net so recht wie ich vorgehen muß.

also, ich habe eine seite "www.clubix.de" mit php + mysql. ich möchte jetzt einen chat/messenger hinzufügen, doch das problem:

wie realisiere ich, das der user(eingeloggt) von der seite aus direkt an das java(servlet/applet weiß nicht genau was..) übernommen wird? wie müßte ich vorgehnen?
desweiteren möchte ich die "messages", über ein php-script, in die datenbank schreiben. d.h. wenn ich einem ne "message" sende und der user ist grad offline soll das ganze angezeigt werden wenn der user sich einloggt. 

ist das überhaupt so realisierbar?

wenn ja - wie


----------



## schnuffie (7. April 2005)

Von Programmiersprachenmischmasch halte ich persönlich nicht viel.

Applets scheiden nicht unbedingt aus, denn sie können sich mit dem Host, von dem sie geladen wurden auch verbinden (java.net.Socket verwenden). ;-) 

Mit Servlets sehe ich schwarz, denn die benutzen ja bekanntlich das HTTP-Protokoll, also die Anzeige bei Dir im Browser bleibt nach dem Laden statisch, da hilft auch kein Javascript oder DHTML. Nur ein neuer Request würde die neuen Daten des Servers wieder anzeigen. Klar, Du könntest alle 1s einen Request absetzen, jedoch macht das kein Chatter mit, daß jedesmal wenn er kurz vorm ENTER ist, die Seite neu geladen wird. 

Andererseits frage ich mich natürlich auch, warum Du nicht einen eigenen Client dazu schreibst, den Du dann an Deine "Chat-Genossen" verteilst - Applet-Einschränkungen gäb's dann auch nicht mehr.

Zum Lernen ist das schon eine tolle Idee, zumal ich selbst gern chatte, jedoch gibt's auch sehr leistungsstarke fertige Tools, wenn's Dir um's Benutzen ginge.


----------



## onebigman (12. April 2005)

ich möchte kein fertiges Chat-Tool verwenden, da auch eine art Messenger mit integriert werden soll(Messages speichern in Datenbank). Wobei die "Freunde" auf meiner Nickpage mit einbezogen werden sollen und sofort im Chat/Messenger als "Frendslist" mit angezeigt werden soll. Desweiteren soll der Messenger automatisch aufgehen, nachdem ich mich angemeldet habe und mir eine Message zugesannt wurde.

ein eigenständiger Client ist dadurch schon so gut wie hinfällig. Könnte dann ja auch gleich die Icq-Nummer angeben....
also das ganze soll Webbasierend sein - so meine Vorgabe.

Also werd ich nen Applet schreiben müssen....
hab ich da ne möglichkeit direkt Daten an MySql zu übertragen?


----------



## onebigman (12. April 2005)

Achso, refresh/reload is auch außen vor. Da es keine Optimale Lösung darstellt.


----------



## mrno (12. April 2005)

Du kannst es über sockets machen.

Auf dieser Seite gibt es ein schönes chat beispiel
http://java.seite.net/chat/index.html


----------



## onebigman (13. April 2005)

genau so will ich es machen. 

Jetzt muß ich mich aber erstmal in Java einarbeiten - wie gesagt: bin Anfänger.

Danke aber erst mal...


----------



## Clubfan22 (27. August 2010)

Hab das beispiel nachprogrammiert aber bei mir kommt dann ne ewige Fehlernachricht:


Java Plug-in 1.6.0_20
Verwendung der JRE-Version 1.6.0_20-b02 Java HotSpot(TM) Client VM
Home-Verzeichnis des Benutzers = C:\Users\Ammon
----------------------------------------------------
c:   Konsole löschen
f:   Objekte in Finalisierungswarteschlange finalisieren
g:   Speicherbereinigung
h:   Diese Hilfemeldung anzeigen
l:   ClassLoader-Liste ausgeben
m:   Speicherbelegung anzeigen
o:   Protokollierung auslösen
q:   Konsole ausblenden
r:   Richtlinien-Konfiguration neu laden
s:   System- und Bereitstellungseigenschaften ausgeben
t:   Threadliste ausgeben
v:   Thread-Stack ausgeben
x:   ClassLoader-Cache löschen
0-5: Trace-Stufe auf <n> setzen
----------------------------------------------------


java.security.AccessControlException: access denied (java.net.SocketPermission 127.0.0.1:8765 connect,resolve)
	at java.security.AccessControlContext.checkPermission(Unknown Source)
	at java.security.AccessController.checkPermission(Unknown Source)
	at java.lang.SecurityManager.checkPermission(Unknown Source)
	at java.lang.SecurityManager.checkConnect(Unknown Source)
	at sun.plugin2.applet.Applet2SecurityManager.checkConnect(Unknown Source)
	at java.net.Socket.connect(Unknown Source)
	at java.net.Socket.connect(Unknown Source)
	at java.net.Socket.<init>(Unknown Source)
	at java.net.Socket.<init>(Unknown Source)
	at chatapplet.start(chatapplet.java:37)
	at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
Ausnahme: java.security.AccessControlException: access denied (java.net.SocketPermission 127.0.0.1:8765 connect,resolve)


----------



## sheel (27. August 2010)

Ein Applet darf sich normalerweise nicht irgendwohin verbinden (und hat auch sonst einige Einschränkungen, damit es beim Client nichts kaputt macht)

Dazu muss man das Applet signieren


----------



## Clubfan22 (27. August 2010)

aber wie soll ichs dann machen? weil bei manchen funktionierts ja
Ich schreib jetzt mal wie ichs gemacht hab:
1. Code eingefügt
2. .java zu .class kompiliert
3. chatserver gestartet
4. html geladen


----------



## sheel (27. August 2010)

http://java.sun.com/developer/onlineTraining/Programming/JDCBook/signed.html


----------

