Hallo und herzlich willkommen! Tutorials.de ist eine Hilfe-Community mit dem Motto User helfen Usern. Als Gast verfügst Du über Schreibrechte in unseren Foren und Blogs. Du kannst dich aber gerne auch kostenlos registrieren und Teil unserer Gemeinschaft werden! Viel Spaß & Erfolg bei der Vermehrung deines Wissens :-)
Themen: 242.975 | Beiträge: 1.352.293 | Mitglieder: 169.418 (Stand 28.01.10) | Fragen zur Nutzung von Tutorials.de? Nutzungsregeln | Kontaktformular | Impressum
ich weiß nicht ob ich hier richtig bin, aber es erschien mir am warscheinlichsten. Ich möchte mit Java eine Serveranwendung schreiben (ich habe gehört dass das möglich ist.) Ich stelle mir das ungefähr so vor:
Beispiel: Einfacher Chat
Code:
Nachricht
[Client] ---------------------> [Server Anwendung]
Liest alle eingeloggten Nutzer aus
[Server Anwendung] ----------------> [PHP-Script]
Schickt die neue Nachricht an alle Clienten
[Server Anwendung] ----------------------->[Client 1][Client 2][Client 3]
Dazu meine Fragen:
1. Ist das mit Java realisierbar?
2. Was müsste ich mir dazu anschauen?
3. (Wie) lässt sich die Anwendung dauerhaft laufen lassen auf dem Server?
__________________
Napoleon trug rote Kleidung, damit seine Soldaten nicht sahen, dass er verwundet war.
Die Naz!s trugen braune Hosen ...
ich verstehe nicht so ganz, was bei dir jetzt der Unterschied zwischen dem PHP-Script und der Serveranwendung ist.
Du kannst PHP mit Java ersetzen und die komplette Serverseite mit Java schreiben.
Du solltest dir mal Servlets und JSP anschauen.
Dazu gibt es auch noch einige Frameworks für die Client-Seite. Bspw GWT, JSF
Gruß
Sascha
__________________ Niveau von unten betrachtet wird meistensmitArroganzverwechselt. ;-)
ich habe mich vielleicht etwas missverständlich ausgedrückt.
Ich habe mal ein Schaubild gemalt
Es haben sich 2 Clienten beim Server (bzw beim JavaProgramm) angemeldet. Wenn nun ein Client eine Nachricht schreibt, wird diese an das Server/Java-programm geschickt. Das wertet die Nachricht aus, und schickt dann die Antwort an alle angemeldeten Clienten. Der Unterschied zu einem PHP-Programm liegt darin, dass das PHP Script statisch ist, also um zu sehen, ob ich eine neue Nachricht bekommen hab, die Seite aktualisieren muss. Eine Alternative wäre AJAX, allerdings wird das alles sehr Performantslastig (irgendwann) und wenn man als einziger client angemeldet ist, mehr als verschwendete Resourcen.
__________________
Napoleon trug rote Kleidung, damit seine Soldaten nicht sahen, dass er verwundet war.
Die Naz!s trugen braune Hosen ...
Ich muss nochmal fragen, soll die Java-Anwendung der Server sein, der angesprochen wird?
Wie gesagt, alles was serverseitig ist, kann mit Java realisiert werden.
Soll der Client ein Webfrontend sein?
Sollen alle Clients benachrichtigt werden, sobald ein andere Client eine Nachricht geschickt hat, oder erst wenn sie die nächste Anfrage stellen?
Falls sie automatisch benachrichtigt werden sollen, d.h. ohne eine Anfrage an den Server zu stellen. Dann funktioniert das gar nicht mit Web-Frontend, weil der Server nur was zum Client schicken kann, sobald an ihn eine Anfrage gestellt wird.
Das funktioniert deshalb mit keine Programmiersprache.
Eine andere Möglichkeit wäre, einen richtige Applikation einzusetzen.
Gruß
Sascha
__________________ Niveau von unten betrachtet wird meistensmitArroganzverwechselt. ;-)
also ich nehme nochmal das Beispiel mit dem Chat.
Angenommen ich habe die Java-anwendung die ich schreiben möchte schon fertig. Diese liegt jetzt auf dem Server. Person A meldet sich jetzt entweder über ein Java-Programm oder ein Applet an, Username/Password und wird dann in eine Datenbanktabelle eingetragen. Person B meldet sich auch an, und kommt in die gleiche Tabelle. Person A sieht jetzt dass Person B online ist, und schreibt eine Nachricht in den generellen Chat. Sprich, es wird ein Text in ein Textfeld eingegeben, und auf Senden gedrückt. Jetzt müsste die Javaanwendung auf dem Server ins spiel kommen. Beim Senden wir der Javaanwendung "gesagt" dass sie die mitgesendete Nachricht an alle angemeldeten Clienten schicken soll.
Diese Javaanwendung muss dementsprechend die ganze Zeit verfügbar sein.
__________________
Napoleon trug rote Kleidung, damit seine Soldaten nicht sahen, dass er verwundet war.
Die Naz!s trugen braune Hosen ...
vielen Dank für deine Geduld und deine Auskunft/Hilfe.
Ich habe mir jetzt mal folgenden Code gebastelt, nachdem ich hier gelesen habe: http://www.peuss.com/java/Sockets.php. Zunächst hat auch alles geklappt, bis ich mir eine GUI gebaut habe. Ich erhalte leider weder eine Fehlermeldung, noch eine Ausgabe. Kannst du mir noch einmal helfen?
super Dank, das funktioniert (natürlich) soweit Ich habe jetzt noch einen Chatusernamen und einen Zeilenumbruch hinzugefügt. Solang ich das ganze lokal teste, funktioniert es auch. Ich starte zuerst in eclipse Server.class und danach den ChatClient, und kann mich mit mir selbst unterhalten
Nur habe ich die Server.class jetzt auf den Webserver heraufgeladen, und den host von localhost zu der ip adresse umbenannt. Allerdings erhalte ich dann einen Connection timeout. Wenn ich es mit ip/Server.class versuche, erhalte ich eine UnkownHostException. Ich vermute mal, dass ich die Server.class irgendwie auf dem Server zum laufenkriegen muss, nur wie?
__________________
Napoleon trug rote Kleidung, damit seine Soldaten nicht sahen, dass er verwundet war.
Die Naz!s trugen braune Hosen ...
ich habe nochmal ein bisschen weiter rumgeschaut, aber immer noch keine Lösung gefunden. Ist sowas denn prinzipiell überhaupt möglich (womit wir bei meiner Ausgangsfrage wären). IRC ist doch auch Javabasierend (zumindest das Applet), da funktioniert das doch auch, oder nicht?
__________________
Napoleon trug rote Kleidung, damit seine Soldaten nicht sahen, dass er verwundet war.
Die Naz!s trugen braune Hosen ...