In diesem Tutorial
geht es darum wie man die XML Objekte von
Flash benutzt und was mit ihnen möglich
ist. Wenn Ihr mit dem Totorial ferig seid
habt Ihr ein voll funtionierendes Chatsystem.
Ein kurzer Überblick:
XML hat zunächst nichts mit einem
Chat oder Client-Serversystemen zu tun.
XML heisst Extensible Markup Language und
ist wie HTML eine Markupspache. XML ist
auch keine Programmiersprache (HTML auch
nicht), sondern wird üblicherweise
dazu benutzt um Daten zu kapseln, d.h. dass
in einem XML Dokument nur Daten gespeichert
werden die nicht wissen wie sie später
einmal dargestellt werden. Um XML Dokumente
darzustellen benutzt man Stylesheets wie
z.B. .css (Cascading Stylesheets) oder XSL
um XML in HTML umzuwandeln. Programmiersprachen
wie VisualBasic (wenn man VB als Programmiersprache
bezeichnen möchte) oder Java bieten
Schnittstellen um mit XML zu arbeiten. Auch
Flash bietet seit der Version 5 eine solche
(einfache) Schnittstelle. Man kann XML Dokumente
in Flash laden und die Daten dann nach Belieben
darstellen. Sinnvoll wäre das z.B.
bei grossen Datenmengen die einheitlich
präsentiert werden sollen.
Kopiert den Text in eine Datei mit der
Endung .xml und öffnet diese im Internetexplorer
6.0. Ihr werdet sehen dass der IE eine Baumstruktur
abbildet die Ihr mit den - Buttons auf und
zuklappen könnt. In unserem Fall werden
wir nur einzelne XML Knoten versenden und
keine volständigen Dokumente wie dieses
Beispiel.
Seit Flash5 gibt es auch das leicht zu
benutzende XMLSocket-Objekt. Ein Socket
besteht aus einer IP und einem Port, z.B.
192.168.0.1:3333. Mehr Informationen braucht
Flash nicht um eine persistente(dauerhafte)
Verbindung zu einem Server aufzubauen. Das
Objekt heisst XMLSocket weil über diese
Objekte laut Action Script Hilfe nur vollständige
XML Dokumente versendet werden können.
Ich habe festgestellt dass man verschicken
kann was man will wenn man es irgendwie
in ein XML Objekt packen kann.
Flashsockets unteliegen jedoch einigen
(durchaus sinnvollen) Einschränkungen:
- Flash darf nur auf Ports > 1024 connecten
- Flash darf nur zu dem Serverrechner verbinden
von dem es geladen wurde
- Flash kann nur als Client auftreten und
kein Verbindungen annehmen
Die letzte Einschränkung macht es
erforderlich einen Server zur Verfügung
zu stellen der die Verbindungen annimt und
verwaltet. Im Downloadpaket findet Ihr einen
solche Server, den FlawaJunior. Er ist in
Java geschrieben und ist eine abgespeckte
Version meines Flawa Chatservers. Er enthält
nur den Kern der Chatengine und bietet nur
geringe Funktionalität. Für unsere
Zwecke reicht er jedoch vollkommen aus.
Die Arbeitsweise des Servers ist sehr einfach,
er empfängt Nachrichten und überprüft
diese, wenn die Prüfung erfolgreich
war leitet er die Nachricht an alle verbundenen
Chatter weiter.
Hier eine Übersicht über das
Chatsystem:
Unser Ziel ist es also einen
Client in Flash zu erstellen und auf dieses
System aufzusetzen.
2)
Wie der Flashfilm aussehen soll überlasse
ich Euch. Es würde zu weit führen
jeden einzelnen Schritt zu erklären.
Ausserdem gehe ich davon aus dass Ihr mit
dem Umgang von Textfeldern vertraut seid.
Welche Komponenten Ihr in Euerem Movie braucht
entnehmt bitte der im Download enthaltenen
.fla. Ich werde mich darauf beschränken
das ActionScript zu kommentieren:
Im ersten Frame, dem Loginscreen benötigt
Ihr folgenden Code: