ActionScript® 3.0 Referenzhandbuch für die Adobe® Flash®-Plattform
Home  |  Liste der Pakete und Klassen ausblenden |  Pakete  |  Klassen  |  Neue Funktionen  |  Stichwortverzeichnis  |  Anhänge  |  Warum auf Englisch?
Filter: Daten werden vom Server abgerufen...
Daten werden vom Server abgerufen...
flash.media 

AVURLStream  - AS3

Paketflash.media
Klassepublic class AVURLStream
VererbungAVURLStream Inheritance URLStream Inheritance EventDispatcher Inheritance Object

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Die URLStream-Klasse stellt Zugriff auf niedriger Ebene auf URL-Downloads bereit. Die Daten werden während des Downloadvorgangs dem Anwendungscode zur Verfügung gestellt, sodass Sie nicht wie bei URLLoader warten müssen, bis der Download der gesamten Datei abgeschlossen ist. Mit der URLStream-Klasse können Sie außerdem einen Stream beenden, bevor der Download abgeschlossen ist. Der Inhalt der heruntergeladenen Datei wird in Form von unformatierten Binärdaten zur Verfügung gestellt.

Die Lesevorgänge in „URLStream“ sind ungeblockt. Das heißt, dass Sie die Eigenschaft bytesAvailable verwenden müssen, um zu ermitteln, ob genügend Daten vorhanden sind, bevor Sie den Lesevorgang starten. Wenn nicht genügend Daten vorhanden sind, wird eine EOFError-Ausnahme ausgelöst.

Alle Binärdaten werden standardmäßig im Big Endian-Format kodiert, wobei das höchstwertige Byte an erster Stelle steht.

Für URL-Downloads mit der URLStream-Klasse gelten dieselben Sicherheitsregeln wie für URLLoader-Objekte. Richtliniendateien können nach Bedarf heruntergeladen werden. Lokale Dateisicherheitsregeln werden erzwungen, und ggf. werden Sicherheitswarnungen ausgegeben.

Verwandte API-Elemente

URLLoader
URLRequest


Öffentliche Eigenschaften
 EigenschaftDefiniert von
 InheritedbytesAvailable : uint
[schreibgeschützt] Gibt für die zum Lesen verfügbaren Daten im Eingabepuffer die Anzahl der Byte an.
URLStream
 Inheritedconnected : Boolean
[schreibgeschützt] Gibt an, ob dieses URLStream-Objekt zurzeit verbunden ist.
URLStream
 Inheritedconstructor : Object
Ein Verweis auf das Klassenobjekt oder die Konstruktorfunktion für eine angegebene Objektinstanz.
Object
  cookieHeader : String
[Nur Schreiben]
AVURLStream
 Inheritedendian : String
Gibt die Byte-Reihenfolge der Daten an.
URLStream
 InheritedobjectEncoding : uint
Steuert die beim Schreiben oder Lesen eines Objekts verwendete Version von Action Message Format (AMF).
URLStream
Öffentliche Methoden
 MethodeDefiniert von
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registriert ein Ereignis-Listener-Objekt bei einem EventDispatcher-Objekt, sodass der Listener über ein Ereignis benachrichtigt wird.
EventDispatcher
 Inherited
Schließt den Stream unmittelbar und bricht den Download-Vorgang ab.
URLStream
 Inherited
Sendet ein Ereignis in den Ereignisablauf.
EventDispatcher
 Inherited
Überprüft, ob das EventDispatcher-Objekt Listener für einen bestimmten Ereignistyp registriert hat.
EventDispatcher
 Inherited
Gibt an, ob für ein Objekt eine bestimmte Eigenschaft definiert wurde.
Object
 Inherited
Gibt an, ob eine Instanz der Object-Klasse in der Prototypkette des Objekts vorhanden ist, das als Parameter angegeben wurde.
Object
  
[override] Startet den Download der im Parameter „request“ angegebenen URL.
AVURLStream
 Inherited
Gibt an, ob die angegebene Eigenschaft vorhanden ist und durchlaufen werden kann.
Object
 Inherited
Liest einen booleschen Wert aus dem Stream.
URLStream
 Inherited
Liest ein Byte mit Vorzeichen aus dem Stream.
URLStream
 Inherited
readBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void
Liest „length“-Byte Daten aus dem Stream.
URLStream
 Inherited
Liest eine Gleitkommazahl nach IEEE 754 mit doppelter Genauigkeit aus dem Stream.
URLStream
 Inherited
Liest eine Gleitkommazahl nach IEEE 754 mit einfacher Genauigkeit aus dem Stream.
URLStream
 Inherited
Liest eine 32-Bit-Ganzzahl mit Vorzeichen aus dem Stream.
URLStream
 Inherited
readMultiByte(length:uint, charSet:String):String
Liest einen Multibyte-String der angegebenen Länge unter Verwendung des angegebenen Zeichensatzes vom Bytedatenstream.
URLStream
 Inherited
Liest ein im Action Message Format (AMF) kodiertes Objekt vom Socketserver.
URLStream
 Inherited
Liest eine 16-Bit-Ganzzahl mit Vorzeichen aus dem Stream.
URLStream
 Inherited
Liest ein Byte ohne Vorzeichen aus dem Stream.
URLStream
 Inherited
Liest eine 32-Bit-Ganzzahl ohne Vorzeichen aus dem Stream.
URLStream
 Inherited
Liest eine 16-Bit-Ganzzahl ohne Vorzeichen aus dem Stream.
URLStream
 Inherited
Liest einen UTF-8-String aus dem Bytestream.
URLStream
 Inherited
Liest eine Folge von length-UTF-8-Byte aus dem Bytestream und gibt einen String zurück.
URLStream
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Entfernt einen Listener aus dem EventDispatcher-Objekt.
EventDispatcher
 Inherited
Legt die Verfügbarkeit einer dynamischen Eigenschaft für Schleifenoperationen fest.
Object
 Inherited
Gibt die Stringdarstellung dieses Objekts zurück, formatiert entsprechend den Konventionen des Gebietsschemas.
Object
 Inherited
Gibt das angegebene Objekt als String zurück.
Object
 Inherited
Gibt den Grundwert des angegebenen Objekts zurück.
Object
 Inherited
Überprüft, ob bei diesem EventDispatcher-Objekt oder bei einem seiner Vorgänger ein Ereignis-Listener für einen bestimmten Ereignistyp registriert ist.
EventDispatcher
Ereignisse
 Ereignis Übersicht Definiert von
 Inherited[broadcast event] Wird ausgelöst, wenn Flash Player oder eine AIR-Anwendung den Betriebssystemfokus erhält und aktiv wird.EventDispatcher
 InheritedWird nach dem erfolgreichen Laden von Daten ausgelöst.URLStream
 Inherited[broadcast event] Wird ausgelöst, wenn Flash Player- oder die AIR-Anwendung den Fokus verliert und inaktiv wird.EventDispatcher
 InheritedWird ausgelöst, wenn ein Aufruf der URLStream.load()-Methode versucht, über HTTP auf Daten zuzugreifen und Adobe AIR den Statuscode für die Anforderung erkennen und zurückgeben kann.URLStream
 InheritedWird ausgelöst, wenn ein URLStream.load() versucht, auf Daten über HTTP zuzugreifen, und Flash Player oder Adobe AIR den Statuscode für die Anforderung erkennen und zurückgeben kann.URLStream
 InheritedWird beim Auftreten eines I/O-Fehlers ausgelöst, durch den der Ladevorgang fehlschlägt.URLStream
 InheritedWird beim Start eines Ladevorgangs ausgelöst.URLStream
 InheritedWird ausgelöst, wenn während des Download-Vorgangs Daten empfangen werden.URLStream
 InheritedWird ausgelöst, wenn ein URLStream.load()-Aufruf versucht, Daten von einem Server außerhalb der Sicherheitssandbox zu laden.URLStream
Eigenschaftendetails

cookieHeader

Eigenschaft
cookieHeader:String  [Nur Schreiben]



Implementierung
    public function set cookieHeader(value:String):void
Methodendetails

load

()Methode
override public function load(request:URLRequest):void

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Startet den Download der im Parameter request angegebenen URL.

Hinweis: Enthält eine geladene Datei Nicht-ASCII-Zeichen (wie sie z. B. in vielen Sprachen außerhalb des englischen Sprachraums vorkommen), wird empfohlen, dass Sie die Datei im Format UTF-8 oder UTF-16 und nicht in einem Unicode-fremden Format (z. B. ASCII) speichern.

Wenn der Ladevorgang unmittelbar fehlschlägt, wird eine IOError- oder eine SecurityError-Ausnahme (mit dem lokalen Dateisicherheitsfehler) mit der Beschreibung des Fehlers ausgegeben. Andernfalls wird ein open-Ereignis ausgelöst, wenn der URL-Download erfolgreich gestartet wird, bzw. ein Fehlerereignis, wenn ein Fehler auftritt.

Standardmäßig müssen die aufrufende SWF-Datei und die von Ihnen geladene URL in genau der gleichen Domäne sein. Eine SWF-Datei unter www.adobe.com kann beispielsweise nur Daten laden, die sich ebenfalls unter www.adobe.com befinden. Legen Sie eine URL-Richtliniendatei auf dem Server ab, der die Daten hostet, um Daten aus einer anderen Domäne zu laden.

In Flash Player können Sie keine Verbindung mit normalerweisen reservierten Ports herstellen. Eine vollständige Liste der gesperrten Ports finden Sie unter „Beschränken von Netzwerk-APIs“ im ActionScript 3.0 Entwicklerhandbuch.

In Flash Player können Sie eine SWF-Datei daran hindern, diese Methode zu verwenden, indem Sie den allowNetworking-Parameter des object- und embed-Tags auf der HTML-Seite setzen, die den SWF-Inhalt enthält.

Wenn Sie in Flash Player 10 und höher und in AIR 1.5 und höher einen Multipart-Content-Type (z. B. „multipart/form-data“) verwenden, der ein Upload enthält (angegeben durch einen „filename“-Parameter in einem „content-disposition“-Header innerhalb des POST-Body), unterliegt die POST-Methode den auf Uploads angewendeten Sicherheitsregeln:

  • Der POST-Vorgang muss als Reaktion auf eine durch den Benutzer initiierte Aktion, z. B. Mausklick oder Tastendruck, erfolgen.
  • Ist die POST-Methode domänenübergreifend (das POST-Ziel befindet sich auf einem anderen Server als die SWF-Datei, die die POST-Anforderung sendet), so muss der Zielserver eine URL-Richtliniendatei bereitstellen, die den domänenübergreifenden Zugriff erlaubt.

Für alle mehrteiligen Content-Typen muss ebenfalls die Syntax nach Standard RFC2046 gültig sein. Scheint die Syntax ungültig zu sein, so unterliegt die POST-Methode den Sicherheitsregeln für Uploads.

Diese Regeln gelten auch für AIR-Inhalt in anwendungsfremden Sandboxen. In Adobe AIR dagegen ist Inhalt in der Anwendungssandbox (mit der AIR-Anwendung installierter Inhalt) nicht durch diese Sicherheitseinschränkungen beschränkt.

Weitere Informationen zum Thema Sicherheit finden Sie im Flash Player Developer Center im Abschnitt Sicherheit.

In AIR kann sich ein URLRequest-Objekt für das httpResponse-Statusereignis registrieren. Anders als das httpStatus-Ereignis wird das httpResponseStatus-Ereignis ausgelöst, bevor Antwortdaten vorliegen. Außerdem enthält das httpResponseStatus-Ereignis Werte für die Eigenschaften responseHeaders und responseURL (die für ein httpStatus-Ereignis nicht definiert sind). Beachten Sie, dass das Ereignis httpResponseStatus (falls vorhanden) vor (und zusätzlich zu) jedem complete- oder error-Ereignis gesendet wird.

Wenn es einen httpResponseStatus Ereignis-Listener gibt, wird der Rumpf der Antwortmeldung immer gesendet, und HTTP-Statuscodeantworten resultierten immer in einem complete-Ereignis. Dies ist unabhängig davon wahr, ob der HTTP-Antwortstatuscode einen Erfolg oder einen Fehler anzeigt.

Wenn es in AIR keine httpResponseStatus-Ereignis-Listener gibt, ist das Verhalten basierend auf der SWFAIR-Version unterschiedlich:

  • Bei SWF 9-Inhalten wird der Hauptteil der HTTP-Antwortnachricht nur dann gesendet, wenn der HTTP-Antwortstatuscode Erfolg anzeigt. Andernfalls (wenn ein Fehler vorliegt) wird kein Rumpf gesendet und das URLRequest-Objekt löst ein IOError-Ereignis aus.
  • Bei SWF 10-Inhalten wird der Hauptteil der HTTP-Antwortnachricht immer gesendet. Wenn ein Fehler vorliegt, löst das URLRequest-Objekt ein IOError-Ereignis aus.

Parameter

request:URLRequest — Ein URLRequest-Objekt, das die herunterzuladende URL angibt. Wenn der Wert dieses Parameters oder der Eigenschaft URLRequest.url des übergebenen URLRequest-Objekts null ist, gibt die Anwendung einen Nullzeiger-Fehler aus.


Ereignisse
complete:Event — Wird nach dem erfolgreichen Laden von Daten ausgelöst. Wenn es einen httpResponseStatus-Ereignis-Listener gibt, löst das URLRequest-Objekt auch ein complete-Ereignis aus, unabhängig davon, ob der HTTP-Antwortstatuscode einen Erfolg oder einen Fehler angibt.
 
httpStatus:HTTPStatusEvent — Wenn der Zugriff über HTTP erfolgt und die aktuelle Umgebung den Empfang von Statuscodes unterstützt, werden diese Ereignisse möglicherweise zusätzlich zu allen complete- oder error-Ereignissen empfangen.
 
httpResponseStatus:HTTPStatusEvent — Wird ausgelöst, wenn ein Aufruf der load()-Methode versucht, über HTTP auf Daten zuzugreifen und Adobe AIR den Statuscode für die Anforderung erkennen und zurückgeben kann.
 
ioError:IOErrorEvent — Der Ladevorgang konnte nicht abgeschlossen werden.
 
open:Event — Wird beim Start eines Ladevorgangs ausgelöst.
 
securityError:SecurityErrorEvent — Bei einem Ladevorgang wurde versucht, Daten von einem Server außerhalb der Sicherheitssandbox der aufrufenden Funktion abzurufen. Sie können dies umgehen, indem Sie eine Richtliniendatei auf dem Server verwenden.

Auslöser
ArgumentError — Bestimmte nicht zulässige HTTP-Anforderungsheader sind möglicherweise in URLRequest.requestHeader-Objekten nicht enthalten. Weitere Informationen finden Sie in der Beschreibung der URLRequestHeader-Klasse.
 
MemoryError — Dieser Fehler kann folgende Ursachen haben:
  1. Flash Player oder Adobe AIR kann den Parameter URLRequest.data nicht von UTF8 in MBCS konvertieren. Dieser Fehler trifft zu, wenn das an load() übergebene URLRequest-Objekt auf die Ausführung eines GET-Vorgangs eingestellt ist und wenn System.useCodePage auf true gesetzt ist.
  2. Flash Player oder Adobe AIR kann POST keinen Speicher zuweisen. Dieser Fehler trifft zu, wenn das an „load“ übergebene URLRequest-Objekt auf die Ausführung eines POST-Vorgangs eingestellt ist.
 
SecurityError — Über lokale nicht vertrauenswürdige SWF-Dateien kann keine Verbindung mit dem Internet hergestellt werden. Sie können dieses Problem umgehen, indem Sie diese SWF-Datei neu als lokal mit Netzwerk oder als vertrauenswürdig klassifizieren.
 
SecurityError — Sie versuchen, eine Verbindung mit einem normalerweise reservierten Port herzustellen. Eine vollständige Liste der gesperrten Ports finden Sie unter „Beschränken von Netzwerk-APIs“ im ActionScript 3.0 Entwicklerhandbuch.




[ X ]Warum auf Englisch?
Inhalt des ActionScript 3.0-Referenzhandbuchs wird in englischer Sprache angezeigt

Nicht alle Teile des ActionScript 3.0-Referenzhandbuchs wurden in alle Sprachen übersetzt. Wenn der Text zu einem Sprachelement nicht übersetzt wurde, wird er auf Englisch angezeigt. Zum Beispiel wurden die Informationen zur ga.controls.HelpBox-Klasse nicht in andere Sprachen übersetzt. In der deutschen Version des Referenzhandbuchs erscheint der Abschnitt zur ga.controls.HelpBox-Klasse deshalb auf Englisch.