<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0">
	<channel>
		<title>BlitzBasic Portal Worklogs - [Ajax / Java] Ein Webchat</title>
		<link>https://www.blitzforum.de/worklogs/526/</link>
		<description>Worklog von Eingeproggt</description>
		<language>de</language>
		<managingEditor>mail@blitzforum.de</managingEditor>
		<webMaster>mail@blitzforum.de</webMaster>
		<pubDate>Wed, 06 Mar 2013 14:02:15 +0100</pubDate>
		<lastBuildDate>Wed, 06 Mar 2013 14:02:15 +0100</lastBuildDate>

		<item>
			<title>El piedra miliar (Der Meilenstein)</title>
			<link>https://www.blitzforum.de/worklogs/526/#3654</link>
			<guid>https://www.blitzforum.de/worklogs/526/#3654</guid>
			<author>Eingeproggt</author>
			<description>Servus,&lt;br /&gt;&lt;br /&gt;schneller als angenommen (muss wohl an der zus&amp;auml;tzlichen Motivation durch den Worklog im ge&amp;ouml;ffneten Blitzforum liegen  &lt;img src=&quot;/forum/images/smiles/icon_lol.gif&quot; alt=&quot;Laughing&quot; /&gt; ) gibt es einen Meilenstein &amp;uuml;ber den ich berichten will.&lt;br /&gt;&lt;br /&gt;Also kurz gesagt: &lt;b&gt;Chat-Grundfunktion steht&lt;/b&gt;.&lt;br /&gt;Das muss auch Grund genug sein, einen Screenshot zu posten auch wenn er nicht besonders graphisch anspruchsvoll ist:&lt;br /&gt;&lt;span&gt;&lt;img onload=&quot;resize_image(this)&quot; src=&quot;https://www.blitzforum.de/upload/file.php?id=12290&quot; alt=&quot;user posted image&quot; /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Anmerkung zu dem Bild im Speziellen:&lt;br /&gt;Die Userliste (Online / Offline) ist in Paint nachbearbeitet (sprich ein graues Rechteck dr&amp;uuml;ber gezeichnet).&lt;br /&gt;Das liegt daran dass in der Userliste mittlerweile schon &amp;quot;echte&amp;quot; Namen stehen. Ich habs &amp;quot;nebenbei&amp;quot; geschafft, den Java-Server an MySQL anzubinden (JDBC sei Dank) und somit stehen da schon &amp;quot;reale User&amp;quot; - die aber weder vom Chat noch vom blitzforum wissen und wo ich denke dass die es lieber haben wenn ich ihre Existenz erstmal nicht ver&amp;ouml;ffentliche.&lt;br /&gt;&lt;br /&gt;Und nat&amp;uuml;rlich &lt;b&gt;Erkl&amp;auml;rungen zum System&lt;/b&gt;:&lt;br /&gt;Die grauen Fenster sind dynamisch erzeugt und liegen &amp;uuml;ber einem (an die Fenstergr&amp;ouml;&amp;szlig;e angepassten) iFrame. Das erkl&amp;auml;rt auch warum ich vorkurzem &lt;a href=&quot;https://www.blitzforum.de/forum/viewtopic.php?t=39339&quot; target=&quot;_blank&quot;&gt;dieses Problem&lt;/a&gt; hatte.&lt;br /&gt;&lt;br /&gt;Das Interessanteste, der Ajax Push ist im Prinzip ganz einfach (wobei ichs wohl sogar noch komplexer gemacht habe als n&amp;ouml;tig).&lt;br /&gt;Normale Verarbeitung w&amp;auml;re ja grob gesagt: Eingehende Verbindung annehmen, verarbeiten, Antwort senden, Verbindung schlie&amp;szlig;en.&lt;br /&gt;Meine L&amp;ouml;sung (in der Fachwelt &amp;quot;Long Polling&amp;quot; genannt) ist: Eingehende verbindung annehmen, Socket-Daten davon zwischenspeichern. Wenn nun irgendwas passiert was der Server dem Client mitteilen muss, sendet es der Server als &amp;quot;verz&amp;ouml;gerte Antwort&amp;quot; auf die gespeicherte Verbindung. Zitat von Wikipedia dazu was den Nagel auf den Kopf trifft:&lt;br /&gt;Zitat:&lt;div class=&quot;quotebox&quot;&gt;At the end of the processing of the response, the browser creates and sends another XHR, to await the next event. Thus the browser always keeps a request outstanding with the server, to be answered as each event occurs.&lt;/div&gt;&lt;br /&gt;Das ganze muss nochmal &amp;uuml;berdacht werden f&amp;uuml;rchte ich, da sich einige Threads (am Server) nicht beenden bei der Geschichte. Aber das sollte ein &amp;quot;normaler Bug&amp;quot; sein den ich schon ausb&amp;uuml;geln werde. Der Screenshot zeigt den 2. (erfolgreichen) Testlauf, da is klar dass noch alles etwas zu w&amp;uuml;nschen &amp;uuml;brig l&amp;auml;sst.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Wie gehts weiter?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Erstmal bissi den Code aufr&amp;auml;umen und debuggen ^^&lt;br /&gt;Danach hab ich freie Wahl welchen der folgenden Punkte ich angehe:&lt;br /&gt;-) Chat mit mehreren Personen (&amp;gt;2 Teilnehmer - sollte theoretisch jetzt schon gehn, aber zumindest sowas wie &amp;quot;Chat Einladungen&amp;quot;, &amp;quot;Channel verlassen&amp;quot; m&amp;uuml;sste dann klarer umgesetzt werden)&lt;br /&gt;-) Offline-Messages&lt;br /&gt;-) Einstellungen (Anzeige-Name, Statuswechsel, Blocklist, etc.)&lt;br /&gt;-) Anbindung an php (Da bin ich auch gespannt wie ichs mache. Also folgende &amp;Uuml;berlegung: Wenn jemand auf der Website sich einloggt is er &amp;quot;online&amp;quot;. Das hei&amp;szlig;t php m&amp;uuml;sste dem Java-Server mitteilen dass ein User jetzt den Status von Offline zu online wechselt [und java m&amp;uuml;sste dies eben per Push an alle Freunde des Users mitteilen])&lt;br /&gt;-) Design-Aufwertung bzw. GUI ausbauen&lt;br /&gt;&lt;br /&gt;Ich wei&amp;szlig;, die Weltherrschaft an sich zu rei&amp;szlig;en ist eine sehr einsame T&amp;auml;tigkeit, aber ich w&amp;uuml;rde mich trotzdem freuen wenn ein paar Reaktionen auftauchen jetzt wo ihr n Bild seht  &lt;img src=&quot;/forum/images/smiles/icon_razz.gif&quot; alt=&quot;Razz&quot; /&gt; Ich bin auch gerne bereit, mehr &amp;uuml;ber meine Java-Klassen-Struktur, Verarbeitung von Cookies (wer versucht per Ajax Cookies zu manipulieren wird merken dass es nicht so einfach ist) und sonstwas zu erz&amp;auml;hlen - einfach fragen!&lt;br /&gt;Aber fragt mich nicht warum ich im Worklog-Titel mit Spanisch angefangen hab  &lt;img src=&quot;/forum/images/smiles/icon_razz.gif&quot; alt=&quot;Razz&quot; /&gt; &lt;br /&gt;&lt;br /&gt;mfG, Christoph</description>
			<pubDate>Wed, 06 Mar 2013 14:02:15 +0100</pubDate>
		</item>

		<item>
			<title>Hallo Welt</title>
			<link>https://www.blitzforum.de/worklogs/526/#3646</link>
			<guid>https://www.blitzforum.de/worklogs/526/#3646</guid>
			<author>Eingeproggt</author>
			<description>Servus,&lt;br /&gt;&lt;br /&gt;Ich hab leider viel zu viel auf einmal zu erkl&amp;auml;ren bei diesem Projekt - noch dazu wo es ja nicht BB ist und ich bei einigen Formulierungen wohl aufpassen muss dass sie f&amp;uuml;r jedermann verst&amp;auml;ndlich bleiben. Aber ich versuchs einfach mal.&lt;br /&gt;Bei n&amp;auml;heren Fragen einfach melden. Alles kann ich hier im ersten Beitrag nicht beschreiben.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Verwendete Programmiersprachen / Techniken&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Wie im Titel schon erw&amp;auml;hnt Ajax und Java. Das hab ich aber nur geschrieben um den Titel &amp;quot;abzuk&amp;uuml;rzen&amp;quot;. Hinter Ajax verbirgt sich ja Javascript und XML, in meinen Augen auch (X)HTML und CSS. Halt das typische Client-seitige Web-Ged&amp;ouml;hns  &lt;img src=&quot;/forum/images/smiles/icon_wink.gif&quot; alt=&quot;Wink&quot; /&gt; &lt;br /&gt;Serverseitig bastel ich n Server in Java. Jedoch m&amp;ouml;chte ich dazu sagen dass es definitiv kein Webserver wird! Nur ein Chat-Server. Die Wahl fiel relativ leicht, da php irgendwie f&amp;uuml;r diese Aufgabe ungeeignet ist. Ich mein bei jeder Anfrage alle Daten aus der Datenbank laden is halt einfach nicht so &amp;quot;cool&amp;quot; wie alle (bzw. die am h&amp;auml;ufigsten ben&amp;ouml;tigten) Daten im RAM zu haben  8) &lt;br /&gt;&lt;br /&gt;Verbunden wird das ganze Ding einfach &amp;uuml;ber HTTP und ein bisschen Konfigurations-Hick-Hack damit der Java-Server parallel zu XAMPP laufen kann.&lt;br /&gt;&lt;br /&gt;Auch wenn ich nicht genau erkl&amp;auml;ren kann warum, m&amp;ouml;cht ich erw&amp;auml;hnen dass ich keine weiteren Hilfsmittel wie jQuery verwende (ist halt einfach so mein pers&amp;ouml;nlicher Dachschaden alles selber zu machen  &lt;img src=&quot;/forum/images/smiles/icon_lol.gif&quot; alt=&quot;Laughing&quot; /&gt; )&lt;br /&gt;Und ich verwende kein HTML5... Leider... Ich w&amp;uuml;rde gerne, bin mir aber bez&amp;uuml;glich Verbreitung / Unterst&amp;uuml;tzung noch nicht ganz sicher und entschied mich daher f&amp;uuml;r den altmodischen Weg.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Ziel&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Jetzt wirds peinlich... Das Ziel ist noch nicht so ganz klar. Also urspr&amp;uuml;nglich war der Chat f&amp;uuml;r meine Website geplant (Die ich jetzt nichtmal verlinke, Werbung in den Worklogs is ja nicht erlaubt  &lt;img src=&quot;/forum/images/smiles/icon_wink.gif&quot; alt=&quot;Wink&quot; /&gt; ). Doch zwischendurch kamen die typisch &amp;uuml;bermotivierten Ideen auf man k&amp;ouml;nnte den Chat doch frei verf&amp;uuml;gbar machen so dass ihn jeder auf seiner Website einbinden k&amp;ouml;nne. Das ist noch nicht beschlossene Sache, ich denke eher nicht dass ich es wirklich so &amp;quot;sauber&amp;quot; durchziehe dass das am Ende ohne Probleme m&amp;ouml;glich ist  &lt;img src=&quot;/forum/images/smiles/icon_sad.gif&quot; alt=&quot;Sad&quot; /&gt; &lt;br /&gt;&lt;br /&gt;Jedenfalls, warum nicht bestehende Chats verwenden?&lt;br /&gt;Einfache Antwort: Wir sind Programmierer, keine 0815-User  &lt;img src=&quot;/forum/images/smiles/icon_razz.gif&quot; alt=&quot;Razz&quot; /&gt; &lt;br /&gt;Umst&amp;auml;ndliche Antwort: Mir waren alle mir bekannten L&amp;ouml;sungen irgendwie nicht &amp;quot;gut genug&amp;quot;. Vor allem wenn es darum geht sich in dem Chat anzumelden / registrieren hat man bei vielen frei verf&amp;uuml;gbaren L&amp;ouml;sungen Probleme. Und ein Ziel des hier vorgestellten Chats soll sein dass man im Chat mit den Login-Daten meiner Website reinkommt. Klar, das steht wieder im Widerspruch zum Ziel mit &amp;quot;f&amp;uuml;r allen verf&amp;uuml;gbar&amp;quot;. Ihr seht, es wird jetzt schon kompliziert  &lt;img src=&quot;/forum/images/smiles/icon_razz.gif&quot; alt=&quot;Razz&quot; /&gt; &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Fortschritt &amp;amp; Planung&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Das was im ersten Abschnitt &amp;uuml;ber Programmiersprachen erz&amp;auml;hlt wurde, steht schonmal. Zumindest kann ich also sagen dass mein Konzept im Grunde funktioniert  &lt;img src=&quot;/forum/images/smiles/icon_wink.gif&quot; alt=&quot;Wink&quot; /&gt; &lt;br /&gt;Zum Testen l&amp;auml;dt JS mal beim Laden der Website eine Userliste, bestehend aus Dummy-Eintr&amp;auml;gen, vom Server. Die Liste kommt als XML-Daten daher (dazu in einem der n&amp;auml;chsten Worklog-Eintr&amp;auml;ge mehr), wird von JS zu einem HTML-Fenster mit Inhalt verwurstet und geht schon.&lt;br /&gt;&lt;br /&gt;In n&amp;auml;chster Zeit kommt dann der eigentlich gro&amp;szlig;e Brocken, n&amp;auml;mlich das chatten. Wo ich mir pers&amp;ouml;nlich ein wenig in die Hosen mache ist es, ein &lt;a href=&quot;http://en.wikipedia.org/wiki/Reverse_Ajax&quot; target=&quot;_blank&quot;&gt;Ajax Push&lt;/a&gt; selbst zu realisieren.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Bilder&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Leider noch keine... Bisher ist das einzige was man graphisch sieht 2 graue Rechtecke am Client (Website).&lt;br /&gt;&lt;br /&gt;Aber ich bin lange genug dabei um zu wissen wie das abl&amp;auml;uft - Aufmerksamkeit bekommt man erst mit Screenshots von daher werdet ihr schon noch was zu sehen bekommen! (Und wenns n Screenshot vom Code ist damit man mir glaubt dass ich kein Dampfplauderer bin  &lt;img src=&quot;/forum/images/smiles/icon_razz.gif&quot; alt=&quot;Razz&quot; /&gt; ) Ich verspreche aber nicht wann. Das Projekt geht mehr oder weniger schon seit November und ich hab da erst 4 oder 5 Tage &amp;quot;effektiv&amp;quot; reingesteckt seither. Wenn das so weitergeht  &lt;img src=&quot;/forum/images/smiles/icon_rolleyes.gif&quot; alt=&quot;Rolling Eyes&quot; /&gt; &lt;br /&gt;&lt;br /&gt;Also, es war mir eine Ehre der BB-Gemeinde meine Java- und Javascript-Spielereien vorzustellen. Bis zum n&amp;auml;chsten mal,&lt;br /&gt;Christoph</description>
			<pubDate>Tue, 19 Feb 2013 13:13:10 +0100</pubDate>
		</item>


	</channel>
</rss>
