15.10.2012 Views

Actionscript 3 Entwicklerhandbuch

Actionscript 3 Entwicklerhandbuch

Actionscript 3 Entwicklerhandbuch

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

ACTIONSCRIPT 3.0 ENTWICKLERHANDBUCH<br />

Sockets<br />

Wie Sie bereits gesehen haben, wird die Konstruktorfunktion der Telnet-Klasse von der connect()-Methode in der<br />

Hauptanwendungsdatei aufgerufen.<br />

Der Telnet-Konstruktor lässt drei Parameter zu: server, port und output. Die Parameter server und port geben den<br />

Servernamen und die Anschlussnummer an, auf welcher der Telnet-Server ausgeführt wird. Der letzte Parameter, output,<br />

ist ein Verweis auf die Instanz einer TextArea-Komponente auf der Bühne, in der die Serverausgabe angezeigt wird.<br />

public function Telnet(server:String, port:int, output:TextArea)<br />

{<br />

serverURL = server;<br />

portNumber = port;<br />

ta = output;<br />

socket = new Socket();<br />

socket.addEventListener(Event.CONNECT, connectHandler);<br />

socket.addEventListener(Event.CLOSE, closeHandler);<br />

socket.addEventListener(ErrorEvent.ERROR, errorHandler);<br />

socket.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);<br />

socket.addEventListener(ProgressEvent.SOCKET_DATA, dataHandler);<br />

Security.loadPolicyFile("http://" + serverURL + "/crossdomain.xml");<br />

try<br />

{<br />

msg("Trying to connect to " + serverURL + ":" + portNumber + "\n");<br />

socket.connect(serverURL, portNumber);<br />

}<br />

catch (error:Error)<br />

{<br />

msg(error.message + "\n");<br />

socket.close();<br />

}<br />

}<br />

Schreiben von Daten an eine Socketverbindung<br />

Flash Player 9 und höher, Adobe AIR 1.0 und höher<br />

Zum Schreiben von Daten an eine Socketverbindung rufen Sie eine der Schreibmethoden (write) der Socket-Klasse<br />

auf. Zu diesen Schreibmethoden zählen writeBoolean(), writeByte(), writeBytes() und writeDouble(). Dann<br />

löschen Sie die Daten mit der flush()-Methode aus dem Ausgabepuffer. Im Telnet-Server werden Daten mithilfe der<br />

writeBytes()-Methode an die Socketverbindung geschrieben. Die Methode verarbeitet das Byte-Array als einen<br />

Parameter und sendet ihn an den Ausgabepuffer. Die writeBytesToSocket()-Methode lautet folgendermaßen:<br />

public function writeBytesToSocket(ba:ByteArray):void<br />

{<br />

socket.writeBytes(ba);<br />

socket.flush();<br />

}<br />

Diese Methode wird von der sendCommand()-Methode der Hauptanwendungsdatei aufgerufen.<br />

Anzeigen von Nachrichten vom Socketserver<br />

Flash Player 9 und höher, Adobe AIR 1.0 und höher<br />

Immer wenn eine Nachricht vom Socketserver empfangen wird oder ein Ereignis auftritt, wird die benutzerdefinierte<br />

msg()-Methode aufgerufen. Diese Methode fügt einen String an die TextArea-Komponente auf der Bühne an und ruft<br />

eine benutzerdefinierte setScroll()-Methode auf, die dafür sorgt, dass in der TextArea-Komponente ein Bildlauf<br />

bis zum Ende durchgeführt wird. Die msg()-Methode lautet folgendermaßen:<br />

Letzte Aktualisierung 27.6.2012<br />

850

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!