Pakiet | flash.net |
Klasa | public class NetConnection |
Dziedziczenie | NetConnection EventDispatcher Object |
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
NetConnection.connect()
. Klasa NetStream służy do wysyłania strumieni multimedialnych i danych za pomocą połączenia.
Informacje na temat zabezpieczeń dotyczących ładowania treści i danych do programu Flash Player i środowiska AIR można znaleźć w:
- Informacje o ładowaniu treści i danych do programu Flash Player z serwera sieci Web lub z systemu lokalnego zawiera serwis Flash Player Developer Center: Bezpieczeństwo.
- Informacje o ładowaniu treści i danych do programu Flash Player i środowiska AIR z serwera Flash Media Server zawiera Dokumentacja serwera Flash Media Server.
- Informacje o ładowaniu treści i danych do środowiska AIR zawiera serwis Adobe AIR Developer Center.
Aby napisać metody wywołania zwrotnego dla tej klasy, należy rozszerzyć tę klasę i zdefiniować metody wywołania zwrotnego w podklasie lub przypisać właściwość client
do obiektu i zdefiniować metody wywołania zwrotnego w tym obiekcie.
Powiązane elementy interfejsu API
Właściwość | Zdefiniowane przez | ||
---|---|---|---|
client : Object
Wskazuje obiekt, w ramach którego są uaktywniane metody wywołań zwrotnych. | NetConnection | ||
connected : Boolean [tylko do odczytu]
Wskazuje, czy aplikacja jest połączona z serwerem za pomocą trwałego połączenia RTMP (wartość true), czy nie (wartość false). | NetConnection | ||
connectedProxyType : String [tylko do odczytu]
Typ serwera proxy użytego do pomyślnego nawiązania połączenia z serwerem Flash Media Server. | NetConnection | ||
constructor : Object
Odwołanie do obiektu klasy lub funkcji konstruktora, dotyczące danej instancji obiektu. | Object | ||
defaultObjectEncoding : uint [statyczny]
Domyślne kodowanie obiektów NetConnection. | NetConnection | ||
farID : String [tylko do odczytu]
Identyfikator instancji serwera Flash Media Server, do którego podłączona jest ta instancja programu Flash Player lub aplikacji Adobe AIR. | NetConnection | ||
farNonce : String [tylko do odczytu]
Wartość wybrana jako znacząca przez serwer Flash Media Server, unikalna dla tego połączenia. | NetConnection | ||
httpIdleTimeout : Number
Czas oczekiwania na odpowiedź HTTP wyrażony w milisekundach. | NetConnection | ||
maxPeerConnections : uint
Całkowita liczba wejściowych i wyjściowych połączeń równorzędnych, na które zezwala ta instancja programu Flash Player lub aplikacji Adobe AIR. | NetConnection | ||
nearID : String [tylko do odczytu]
Identyfikator instancji programu Flash Player lub aplikacji Adobe AIR dla instancji NetConnection. | NetConnection | ||
nearNonce : String [tylko do odczytu]
Wartość wybrana jako znacząca przez instancję programu Flash Player lub aplikacji Adobe AIR, unikalna dla tego połączenia. | NetConnection | ||
objectEncoding : uint
Kodowanie obiektu dla tego wystąpienia klasy NetConnection. | NetConnection | ||
protocol : String [tylko do odczytu]
Protokół użyty do ustanowienia połączenia. | NetConnection | ||
proxyType : String
Określa metody awaryjne, które są wykorzystywane w przypadku niepowodzenia nawiązania wstępnego połączenia z serwerem Flash Media Server. | NetConnection | ||
unconnectedPeerStreams : Array [tylko do odczytu]
Obiekt przechowujący wszystkie równorzędne subskrybujące obiekty NetStream, które nie są skojarzone z publikującymi obiektami NetStream. | NetConnection | ||
uri : String [tylko do odczytu]
Identyfikator przekazany do metody NetConnection.connect(). | NetConnection | ||
usingTLS : Boolean [tylko do odczytu]
Wskazuje, że bezpieczne połączenie nawiązano przy użyciu macierzystych zabezpieczeń TLS (Transport Layer Security), a nie protokołu HTTPS. | NetConnection |
Metoda | Zdefiniowane przez | ||
---|---|---|---|
Tworzy obiekt NetConnection. | NetConnection | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Rejestruje obiekt detektora zdarzeń w obiekcie EventDispatcher, dzięki czemu detektor będzie otrzymywał powiadomienia o zdarzeniu. | EventDispatcher | ||
Dodaje nagłówek kontekstowy do struktury pakietu formatu Action Message Format (AMF). | NetConnection | ||
Wywołuje polecenie lub metodę na serwerze Flash Media Server lub na serwerze aplikacji, na którym uruchomiony jest program Flash Remoting. | NetConnection | ||
Zamyka połączenie, które otwarto lokalnie lub do serwera i wywołuje zdarzenie netStatus z właściwością code o wartości NetConnection.Connect.Closed. | NetConnection | ||
Tworzy dwukierunkowe połączenie do aplikacji na serwerze Flash Media Server lub do programu Flash Remoting albo tworzy dwukierunkowy punkt końcowy sieci do komunikacji grupowej w sieci P2P za pomocą protokołu RTMFP. | NetConnection | ||
Wywołuje zdarzenie, tj. kieruje je do przepływu zdarzeń. | EventDispatcher | ||
Sprawdza, czy obiekt EventDispatcher zawiera jakiekolwiek detektory zarejestrowane dla konkretnego typu zdarzeń. | EventDispatcher | ||
Wskazuje, czy dla obiektu zdefiniowano określoną właściwość. | Object | ||
Wskazuje, czy instancja klasy Object należy do łańcucha prototypów obiektu określonego jako parametr. | Object | ||
Wskazuje, czy określona właściwość istnieje i jest przeliczalna. | Object | ||
Usuwa detektor z obiektu EventDispatcher. | EventDispatcher | ||
Ustawia dostępność właściwości dynamicznej używanej w pętlach. | Object | ||
Zwraca ciąg reprezentujący obiekt — sformatowany zgodnie z konwencjami właściwymi dla ustawień regionalnych. | Object | ||
Zwraca ciąg reprezentujący określony obiekt. | Object | ||
Zwraca pierwotną wartość dla określonego obiektu. | Object | ||
Sprawdza, czy detektor zdarzeń określonego typu jest zarejestrowany w tym obiekcie EventDispatcher lub jego elementach macierzystych. | EventDispatcher |
Zdarzenie | Podsumowanie | Zdefiniowane przez | ||
---|---|---|---|---|
[zdarzenie broadcast] Wywoływane, gdy program Flash Player lub aplikacja środowiska wykonawczego AIR uzyskuje fokus w systemie operacyjnym i przechodzi w stan aktywny. | EventDispatcher | |||
Wywoływana w przypadku asynchronicznego zgłoszenia wyjątku — pochodzącego z macierzystego kodu asynchronicznego. | NetConnection | |||
[zdarzenie broadcast] Wywoływane, gdy program Flash Player lub aplikacja AIR traci fokus w systemie operacyjnym i przechodzi w stan nieaktywny. | EventDispatcher | |||
Wywoływana, gdy wystąpi błąd wejścia lub wyjścia uniemożliwiający operację sieciową. | NetConnection | |||
Wywoływana, gdy obiekt NetConnection zgłasza swój stan lub warunek błędu. | NetConnection | |||
Wywoływane, jeśli wywołanie metody NetConnection.call() skutkuje próbą połączenia z serwerem na zewnątrz obszaru izolowanego. | NetConnection |
client | właściwość |
client:Object
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Wskazuje obiekt, w ramach którego są uaktywniane metody wywołań zwrotnych. Domyślnym ustawieniem jest ta instancja NetConnection. Jeśli właściwość client
zostanie ustawiona na inny obiekt, metody wywołania zwrotnego będą wywoływane w tym innym obiekcie.
Implementacja
public function get client():Object
public function set client(value:Object):void
Zgłasza
TypeError — Właściwość client musi obiektem różnym od wartości null.
|
connected | właściwość |
connected:Boolean
[tylko do odczytu] Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Wskazuje, czy aplikacja jest połączona z serwerem za pomocą trwałego połączenia RTMP (wartość true
), czy nie (wartość false
). Jeśli połączenie zostało zrealizowane za pomocą protokołu HTTP, ta właściwość ma wartość false
, chyba że połączenie nastąpiło do usług Flash Remoting na serwerze aplikacji; dla tego przypadku właściwość ma wartość true
.
Implementacja
public function get connected():Boolean
connectedProxyType | właściwość |
connectedProxyType:String
[tylko do odczytu] Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Typ serwera proxy użytego do pomyślnego nawiązania połączenia z serwerem Flash Media Server. Możliwe wartości to: "none"
, "HTTP"
, "HTTPS"
i "CONNECT"
.
Wartość "none"
oznacza, że połączenie nie jest tunelowane lub jest natywnym połączeniem SSL.
Wartość "HTTP"
oznacza, że połączenie jest tunelowane przez protokół HTTP.
Wartość "HTTPS"
oznacza, że połączenie jest tunelowane przez protokół HTTPS.
Wartość "CONNECT"
oznacza, że połączenie jest tunelowane przy użyciu metody CONNECT za pośrednictwem serwera proxy.
Implementacja
public function get connectedProxyType():String
Zgłasza
ArgumentError — Nastąpiła próba uzyskania dostępu do właściwości objectEncoding, gdy wystąpienie klasy NetConnection nie było połączone.
|
defaultObjectEncoding | właściwość |
defaultObjectEncoding:uint
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Domyślne kodowanie obiektów NetConnection. Gdy obiekt jest zapisywany do lub odczytywany z danych binarnych, właściwość defaultObjectEncoding
wskazuje, która wersja formatu AMF (Action Message Format) zostanie użyta do serializacji danych: format ActionScript 3.0 (ObjectEncoding.AMF3
), czy format ActionScript 1.0 i ActionScript 2.0 (ObjectEncoding.AMF0
).
Wartością domyślną jest ObjectEncoding.AMF3
. Zmiana właściwości NetConnection.defaultObjectEncoding
nie wpływa na istniejące instancje NetConnection; wpływa jedynie na instancje, które zostały utworzone w późniejszym czasie.
Aby oddzielnie ustawiać kodowanie obiektów (a nie ustawiać kodowanie obiektów dla całej aplikacji), należy zamiast tej właściwości ustawić właściwość objectEncoding
obiektu NetConnection.
Szczegółowe informacje na ten temat zawiera opis właściwości objectEncoding
.
Implementacja
public static function get defaultObjectEncoding():uint
public static function set defaultObjectEncoding(value:uint):void
Powiązane elementy interfejsu API
farID | właściwość |
farID:String
[tylko do odczytu] Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5 |
Identyfikator instancji serwera Flash Media Server, do którego podłączona jest ta instancja programu Flash Player lub aplikacji Adobe AIR. Właściwość jest znacząca jedynie dla połączeń RTMFP. Wartość tej właściwości jest dostępna jedynie po ustanowieniu połączenia RTMFP.
Implementacja
public function get farID():String
Powiązane elementy interfejsu API
farNonce | właściwość |
farNonce:String
[tylko do odczytu] Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5 |
Wartość wybrana jako znacząca przez serwer Flash Media Server, unikalna dla tego połączenia. Wartość jest widoczna na serwerze jako wartość właściwości client.nearNonce
. Ta wartość jest zdefiniowana tylko dla połączeń RTMFP, RTMPE i RTMPTE.
Implementacja
public function get farNonce():String
httpIdleTimeout | właściwość |
httpIdleTimeout:Number
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 2.6 |
Czas oczekiwania na odpowiedź HTTP wyrażony w milisekundach. Wartością domyślną jest zero.
- Wartość
httpIdleTimeout
jest obiektemNumber
. - W przypadku używania połączenia HTTP wartość dodatnia oznacza liczbę milisekund, przez którą nieaktywne połączenie ma pozostać otwarte.
- Wartość zerowa oznacza, że należy użyć domyślnej wartości limitu czasu bezczynności sieci dla danej platformy.
- Wartość ujemna spowoduje wygenerowanie wyjątku
RangeError
. - W przypadku przekroczenia wartości
httpIdleTimeout
jest wywoływane zdarzenienetStatus
. - Ta właściwość wpływa tylko na obiekty
NetConnection
utworzone za pomocą połączeń HTTP. Ta właściwość nie ma wpływu na obiektyNetConnection
utworzone za pomocą kanałów RTMP, RTMFP lub innych kanałów HTTP.
//Set the timeout to 5 seconds connection = new NetConnection(); connection.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler); connection.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler); connection.httpIdleTimeout = 5000;
NetConnection
może wymagać więcej sekund, niż określa wartość httpIdleTimeout
.
Implementacja
public function get httpIdleTimeout():Number
public function set httpIdleTimeout(value:Number):void
maxPeerConnections | właściwość |
maxPeerConnections:uint
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5 |
Całkowita liczba wejściowych i wyjściowych połączeń równorzędnych, na które zezwala ta instancja programu Flash Player lub aplikacji Adobe AIR. Wartością domyślną jest 8.
Wartość nie rozróżnia połączeń wydawcy i subskrybenta. Jeśli wartość zostanie zmniejszona, gdy połączenia równorzędne są połączeniami bieżącymi, nowa wartość będzie miała wpływ jedynie na połączenia wejściowe. Istniejące połączenia nie zostaną usunięte.
Implementacja
public function get maxPeerConnections():uint
public function set maxPeerConnections(value:uint):void
nearID | właściwość |
nearID:String
[tylko do odczytu] Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5 |
Identyfikator instancji programu Flash Player lub aplikacji Adobe AIR dla instancji NetConnection. Właściwość jest znacząca jedynie dla połączeń RTMFP.
Każda instancja NetConnection posiada niepowtarzalną właściwość nearID
. Żadna instancja programu Flash Player, aplikacji Adobe AIR lub NetConnection nie ma takiego samego identyfikatora.
Pozostałe instancje programu Flash Player lub aplikacji Adobe AIR używają tego identyfikatora jako wartości we właściwości peerID
dla nowych połączeń NetStream do tego klienta. W konsekwencji ten identyfikator jest wartością właściwości farID
w we wszystkich równorzędnych obiektach NetStream, które są połączone z tą instancją.
Implementacja
public function get nearID():String
Powiązane elementy interfejsu API
nearNonce | właściwość |
nearNonce:String
[tylko do odczytu] Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5 |
Wartość wybrana jako znacząca przez instancję programu Flash Player lub aplikacji Adobe AIR, unikalna dla tego połączenia. Wartość jest widoczna na serwerze jako wartość właściwości client.farNonce
. Ta wartość jest zdefiniowana tylko dla połączeń RTMFP, RTMPE i RTMPTE.
Implementacja
public function get nearNonce():String
objectEncoding | właściwość |
objectEncoding:uint
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Kodowanie obiektu dla tej instancji NetConnection.
Gdy obiekt jest zapisywany do lub odczytywany z danych binarnych, właściwość defaultObjectEncoding
wskazuje, która wersja formatu AMF (Action Message Format) zostanie użyta do serializacji danych: format ActionScript 3.0 (ObjectEncoding.AMF3
) czy format ActionScript 1.0 i ActionScript 2.0 (ObjectEncoding.AMF0
). Aby ustawić wersję formatu AMF dla instancji NetConnection, należy ustawić właściwość objectEncoding
.
Zrozumienie tej właściwości jest ważne, jeśli aplikacja wymaga porozumiewania się z serwerami obsługującymi wersje poprzedzające Flash Player 9. Możliwe są następujące trzy scenariusze:
- Połączenie z serwerem obsługującym format AMF3 (na przykład Flex Data Services 2 lub Flash Media Server 3). Wartością domyślną właściwości
defaultObjectEncoding
jestObjectEncoding.AMF3
. Wszystkie instancje NetConnection utworzone w tym pliku stosują serializację AMF3, a zatem nie ma potrzeby ustawiania właściwościobjectEncoding
. - Połączenie z serwerem, który nie obsługuje formatu AMF3 (na przykład Flash Media Server 2). W tym scenariuszu należy ustawić stałą właściwość
NetConnection.defaultObjectEncoding
na wartośćObjectEncoding.AMF0
. Wszystkie instancje NetConnection utworzone w pliku SWF używają serializacji w formacie AMF0. Nie ma konieczności ustawiania właściwościobjectEncoding
. - Połączenie z wieloma serwerami, które używają różnych wersji kodowania. Zamiast właściwości
defaultObjectEncoding
należy ustawić kodowanie obiektu za pomocą właściwościobjectEncoding
osobno dla każdego połączenia. Aby połączyć się z serwerami, które używają kodowania w formacie AMF0, na przykład Flash Media Server 2, należy ustawić właściwość na wartośćObjectEncoding.AMF0
; ustawiając wartość właściwości naObjectEncoding.AMF3
, możliwe będzie połączenie z serwerami, które używają kodowania w formacie, na przykład Flex Data Services 2.
Po połączeniu z instancją NetConnection, jej właściwość objectEncoding
będzie tylko do odczytu.
Jeśli do połączenia z serwerem użyte zostanie błędne kodowanie, obiekt NetConnection wywoła zdarzenie netStatus
. Właściwość NetStatusEvent.info
zawiera obiekt informacji z właściwością code
o wartości NetConnection.Connect.Failed
oraz opis wyjaśniający, że kodowanie obiektu jest niepoprawne.
Implementacja
public function get objectEncoding():uint
public function set objectEncoding(value:uint):void
Zgłasza
ReferenceError — Nastąpiła próba ustawienia wartości we właściwości objectEncoding , gdy instancja NetConnection była połączona.
| |
ArgumentError — Ta właściwość była ustawiona na wartość inną niż ObjectEncoding.AMF0 lub ObjectEncoding.AMF3 .
|
Powiązane elementy interfejsu API
protocol | właściwość |
protocol:String
[tylko do odczytu] Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5 |
Protokół użyty do ustanowienia połączenia. Ta właściwość znajduje zastosowanie, gdy używany jest serwer Flash Media Server. Możliwe są następujące wartości:
"rtmp"
: protokół RTMP (Real-Time Messaging Protocol)"rtmpe"
: szyfrowany protokół RTMP"rtmpt"
: protokół HTTP tunelujący protokół RTMP"rtmpte"
: protokół HTTP tunelujący szyfrowany protokół RTMP"rtmps"
: RTMP na bazie protokołu HTTPS"rtmfp"
: protokół RTMFP (Real-Time Media Flow Protocol)
Implementacja
public function get protocol():String
Zgłasza
ArgumentError — Nastąpiła próba uzyskania dostępu do właściwości objectEncoding, gdy wystąpienie klasy NetConnection nie było połączone.
|
proxyType | właściwość |
proxyType:String
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Określa metody awaryjne, które są wykorzystywane w przypadku niepowodzenia nawiązania wstępnego połączenia z serwerem Flash Media Server. Przed wywołaniem metody NetConnection.connect()
należy ustawić właściwość proxyType
.
Dopuszczalne wartości to "none"
, "HTTP"
, "CONNECTOnly"
, "CONNECT"
i "best"
. Wartość domyślna to "none"
.
Aby użyć natywnego połączenia SSL, należy ustawić właściwość na wartość "best"
. Jeśli odtwarzacz nie może nawiązać bezpośredniego połączenia z serwerem (przez domyślny port 443 lub inny wskazany port), a obecny jest serwer proxy, odtwarzacz podejmuje próbę połączenia przy użyciu metody CONNECT. Jeśli ta próba nie powiedzie się, odtwarzacz tuneluje połączenie przez protokół HTTPS.
W przypadku ustawienia tej właściwości na "CONNECTOnly"
odtwarzacz próbuje najpierw użyć metody CONNECT
. Nie ma opcji zastępczej w sytuacji, gdy nie jest to możliwe.
Jeśli właściwość ma wartość "HTTP"
i bezpośrednie połączenie nie zostało zrealizowane pomyślnie, użyte zostanie tunelowanie HTTP. Jeśli właściwość ma wartość "CONNECT"
i bezpośrednie połączenie nie zostało zrealizowane pomyślnie, użyte zostanie tunelowanie metodą CONNECT
. Jeśli i ta próba nie powiedzie się, nie będzie podejmowana próba tunelowania połączenia przez protokół HTTP.
Ta właściwość ma zastosowanie tylko w przypadku użycia protokołu RTMP, RTMPS lub RTMPT. Metody CONNECT
i CONNECTOnly
są stosowane tylko u użytkowników łączących się z siecią przez serwer proxy.
Implementacja
public function get proxyType():String
public function set proxyType(value:String):void
unconnectedPeerStreams | właściwość |
unconnectedPeerStreams:Array
[tylko do odczytu] Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5 |
Obiekt przechowujący wszystkie równorzędne subskrybujące obiekty NetStream, które nie są skojarzone z publikującymi obiektami NetStream. Subskrybujące obiekty NetStream, które nie są skojarzone z publikującymi obiektami NetStream znajdują się w tablicyNetStream.peerStreams
.
Implementacja
public function get unconnectedPeerStreams():Array
Powiązane elementy interfejsu API
uri | właściwość |
uri:String
[tylko do odczytu] Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Identyfikator przekazany do metody NetConnection.connect(). Jeśli metoda NetConnection.connect()
nie została wywołana lub nie przekazano żadnego identyfikatora URI, właściwość ma wartość undefined
.
Implementacja
public function get uri():String
usingTLS | właściwość |
usingTLS:Boolean
[tylko do odczytu] Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Wskazuje, że bezpieczne połączenie nawiązano przy użyciu macierzystych zabezpieczeń TLS (Transport Layer Security), a nie protokołu HTTPS. Ta właściwość jest poprawna tylko wtedy, gdy obiekt NetConnection jest połączony.
Implementacja
public function get usingTLS():Boolean
Zgłasza
ArgumentError — Nastąpiła próba dostępu do właściwości objectEncoding, gdy instancja NetConnection nie była połączona.
|
NetConnection | () | Konstruktor |
public function NetConnection()
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Tworzy obiekt NetConnection. Aby utworzyć połączenie, należy wywołać metodę connect()
.
Jeśli aplikacja wymaga komunikowania się z serwerami obsługującymi wersje poprzedzające Flash Player 9, należy ustawić właściwość objectEncoding
obiektu NetConnection.
Poniższy kod służy do tworzenia obiektu NetConnection:
var nc:NetConnection = new NetConnection();
Powiązane elementy interfejsu API
addHeader | () | metoda |
public function addHeader(operation:String, mustUnderstand:Boolean = false, param:Object = null):void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Dodaje nagłówek kontekstowy do struktury pakietu formatu Action Message Format (AMF). Nagłówek jest wysyłany z każdym kolejnym pakietem formatu AMF. Jeśli metoda NetConnection.addHeader()
wywołana zostanie z tą samą nazwą, istniejący nagłówek zostanie zastąpiony nowym, który pozostanie w pamięci na czas życia obiektu NetConnection. Aby usunąć obiekt niezdefiniowany, można usunąć nagłówek, wywołując metodę NetConnection.addHeader()
z nazwą nagłówka.
Parametry
operation:String — Identyfikuje nagłówek oraz skojarzony z nim obiekt danych ActionScript.
| |
mustUnderstand:Boolean (default = false ) — Wartość true wskazuje, że serwer musi odczytać i przetworzyć ten nagłówek zanim obsłużone zostaną kolejne nagłówki i komunikaty
| |
param:Object (default = null ) — Dowolny obiekt ActionScript.
|
call | () | metoda |
public function call(command:String, responder:Responder, ... arguments):void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Wywołuje polecenie lub metodę na serwerze Flash Media Server lub na serwerze aplikacji, na którym uruchomiony jest program Flash Remoting. Przed wywołaniem metody NetConnection.call()
należy wywołać metodę NetConnection.connect()
, aby połączyć się z serwerem. Aby przekazać serwerową funkcję do tej metody, należy ją utworzyć.
Nie można połączyć się z portem, który zazwyczaj jest zastrzeżony. Pełną listę zablokowanych portów zawiera sekcja „Ograniczanie sieciowych interfejsów API” w publikacji ActionScript 3.0 — podręcznik dla programistów.
Parametry
command:String — Metoda określona w postaci [objectPath/]method . Na przykład polecenie someObject/doSomething nakazuje zdalnemu serwerowi wywołanie metody clientObject.someObject.doSomething() ze wszystkimi opcjonalnymi parametrami ... arguments . Jeśli brakuje ścieżki obiektu, na zdalnym serwerze wywołana zostanie metoda clientObject.doSomething() .
Parametr | |
responder:Responder — Opcjonalny obiekt użyty do obsługi wartości zwracanych z serwera. Obiekt Responder może mieć zdefiniowane dwie metody do obsługi zwracanych wyników: result oraz status . Jeśli w wyniku zwrócony zostanie błąd, wywołana zostanie metoda status ; w przeciwnym wypadku metoda result . Obiekt Responder może przetwarzać błędy odnoszące się do określonych operacji podczas, gdy obiekt NetConnection generuje odpowiedź na błędy związane ze stanem połączenia.
| |
... arguments — Opcjonalne argumenty, które mogą być dowolnym typem języka ActionScript, włącznie z odwołaniem do innego obiektu ActionScript. Te argumenty są przekazywane do metody określonej parametrem command w czasie, gdy metoda wykonywana jest na zdalnym serwerze aplikacji.
|
Zdarzenia
securityError: — Wywołanie usiłujące nawiązać połączenie z serwerem na zewnątrz obszaru izolowanego obiektu wywołującego. Istnieje możliwość uniknięcia tego typu problemów przez użycie na serwerze pliku reguł.
|
Powiązane elementy interfejsu API
close | () | metoda |
public function close():void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Zamyka połączenie, które otwarto lokalnie lub do serwera i wywołuje zdarzenie netStatus
z właściwością code
o wartości NetConnection.Connect.Closed
.
Metoda rozłącza wszystkie obiekty NetStream uruchomione w połączeniu. Wszystkie kolejkowane dane, które nie zostały wysłane, zostaną odrzucone. (Aby zakończyć strumienie lokalne lub strumienie serwera, nie zamykając jednocześnie połączenia, należy użyć metody NetStream.close()
). Jeśli połączenie zostanie zamknięte i potrzebne będzie utworzenie nowego, należy utworzyć nowy obiekt NetConnection i ponownie wywołać metodę connect()
.
Metoda close()
również rozłącza wszystkie zdalne obiekty udostępnione uruchomione w tym połączeniu. Nie ma jednak potrzeby ponownego tworzenia obiektu udostępnionego w celu ponownego połączenia. W zamian można wywołać metodę SharedObject.connect()
, aby ponownie ustanowić połączenie z obiektem udostępnionym. Także wszystkie dane obiektu udostępnionego, które były kolejkowane, gdy wywołana została metoda NetConnection.close()
, zostaną wysłane po ponownym ustanowieniu połączenia z obiektem udostępnionym.
Najlepszą praktyką programistyczną jest wywołanie metody close()
, gdy klient nie potrzebuje już połączenia z serwerem. (Dotyczy serwera Flash Media Server). Wywołanie metody close()
jest najszybszym sposobem na wyczyszczenie nieużywanych połączeń. Serwer można skonfigurować tak, aby automatycznie zamykał bezczynne połączenia. Aby uzyskać więcej informacji, należy zapoznać się z podręcznikiem Flash Media Server Configuration and Administration Guide.
Powiązane elementy interfejsu API
connect | () | metoda |
public function connect(command:String, ... arguments):void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Tworzy dwukierunkowe połączenie do aplikacji na serwerze Flash Media Server lub do programu Flash Remoting albo tworzy dwukierunkowy punkt końcowy sieci do komunikacji grupowej w sieci P2P za pomocą protkołu RTMFP. Aby zgłosić jego status lub warunek błędu, należy wywołać metodę NetConnection.connect()
, która wywoła zdarzenie netStatus
.
Wywołanie metody NetConnection.connect()
umożliwia wykonanie następujących czynności:
- Aby odtworzyć pliki wideo lub MP3 z lokalnego systemu plików lub z serwera WWW, należy przekazać parametr "null".
- Aby nawiązać połączenie z serwerem aplikacji, na którym jest uruchomiony program Flash Remoting, należy przekazać adres URL z protokołem "http". Klasa NetServices służy do wywoływania funkcji i zwracania wyników z serwera aplikacji za pomocą obiektu NetConnection. Aby uzyskać więcej informacji, należy zapoznać się z dokumentacją programu Flash Remoting.
- Aby nawiązać połączenie z aplikacją Flash Media Server, należy przekazać adres URL z protokołem "rtmp/e/s".
- Aby utworzyć dwukierunkowy punkt końcowy sieci dla komunikacji klient-serwer, P2P i multiemisji IP za pośrednictwem protokołu RTMFP, należy przekazać adres URL z protokołem "rtmfp".
- Aby utworzyć bezserwerowy, dwukierunkowy punkt końcowy sieci dla multiemisji RTMFP IP, należy przekazać ciąg znaków "rtmfp:".
Weźmy pod uwagę następujący model zabezpieczeń:
- Domyślnie program Flash Player lub środowisko AIR odmawia dostępu między obszarami izolowanymi. Serwis sieci Web może zezwolić na dostęp do zasobu, za pomocą pliku reguł URL.
- Aplikacja użytkownika może odmówić dostępu do zasobów serwera. W aplikacji Flash Media Server do odmawiania dostępu służy kod ActionScript po stronie serwera. Więcej informacji zawiera Dokumentacja serwera Flash Media Server.
- Nie można wywołać metody
NetConnection.connect()
, jeśli wywołujący plik znajduje się w lokalnym obszarze izolowanym z dostępem do systemu plików. - Nie można połączyć się z portem, który zazwyczaj jest zastrzeżony. Pełną listę zablokowanych portów zawiera sekcja „Ograniczanie sieciowych interfejsów API” w publikacji ActionScript 3.0 — podręcznik dla programistów.
- Aby zablokować plik SWF przed wywołaniem tej metody, należy ustawić parametr
allowNetworking
oraz znacznikiobject
iembed
na stronie HTML zawierającej treść SWF.
Jednak w aplikacji Adobe AIR zawartość obszaru izolowanego application
(zawartość instalowana razem z aplikacją AIR) nie jest ograniczana przez te reguły zabezpieczeń.
Więcej informacji na temat zabezpieczeń zawiera odpowiedni temat w witrynie Adobe Flash Player Developer Center: Bezpieczeństwo.
Parametry
command:String — Jako parametr command należy przekazać jedną z następujących wartości:
Ten typ połączenia ma następujące ograniczenia: Tylko komputery równorzędne w tej samej sieci LAN mogą się wzajemnie wykrywać. Za pomocą multiemisji IP program Flash Player może odbierać strumienie, ale nie może ich wysyłać. Program Flash Player i środowisko AIR mogą wysyłać i odbierać strumienie w grupie P2P, ale komputery równorzędne muszą zostać wykryte w tej samej sieci LAN za pomocą multiemisji IP. Ta technika nie może być stosowana do komunikacji jeden-do-jednego. | |
... arguments — Opcjonalne parametry dowolnego typu są przekazywane do aplikacji określonej parametrem command . Dodatkowe argumenty są przekazywane do modułu obsługi zdarzeń application.onConnect() w serwerowym kodzie aplikacji. (Dotyczy serwera Flash Media Server). Argumenty należy zdefiniować i obsłużyć w zdarzeniu onConnect() .
|
Zgłasza
ArgumentError — Identyfikator URI przekazany do parametru command został niepoprawnie sformatowany.
| |
IOError — Połączenie zakończone niepowodzeniem. Może się to zdarzyć w momencie wywołania metody connect() z wnętrza modułu obsługi zdarzenia netStatus , co jest niedozwolone.
| |
SecurityError — Lokalne pliki SWF z systemem plików nie mogą komunikować się z Internetem. Można uniknąć tego problemu przez ponowne zaklasyfikowanie pliku SWF jako lokalnego z dostępem do sieci lub pliku zaufanego.
| |
SecurityError — Nie można połączyć się z portem, który zazwyczaj jest zastrzeżony. Pełną listę zablokowanych portów zawiera sekcja „Ograniczanie sieciowych interfejsów API” w publikacji ActionScript 3.0 — podręcznik dla programistów.
|
Powiązane elementy interfejsu API
asyncError | Zdarzenie |
flash.events.AsyncErrorEvent
właściwość AsyncErrorEvent.type =
flash.events.AsyncErrorEvent.ASYNC_ERROR
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Wywoływana w przypadku asynchronicznego zgłoszenia wyjątku — pochodzącego z macierzystego kodu asynchronicznego.
StałaAsyncErrorEvent.ASYNC_ERROR
definiuje wartość właściwości type
obiektu zdarzenia asyncError
.
To zdarzenie ma następujące właściwości:
Właściwość | Wartość |
---|---|
bubbles | false |
cancelable | false ; nie ma domyślnego zachowania, które można byłoby anulować. |
currentTarget | Obiekt przetwarzający aktywnie obiekt Event za pomocą detektora zdarzeń. |
target | Obiekt wywołujący zdarzenie |
error | Błąd, który spowodował wywołanie zdarzenia. |
ioError | Zdarzenie |
flash.events.IOErrorEvent
właściwość IOErrorEvent.type =
flash.events.IOErrorEvent.IO_ERROR
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Wywoływana, gdy wystąpi błąd wejścia lub wyjścia uniemożliwiający operację sieciową.
Definiuje wartość właściwościtype
obiektu zdarzenia ioError
.
To zdarzenie ma następujące właściwości:
Właściwość | Wartość |
---|---|
bubbles | false |
cancelable | false ; nie ma domyślnego zachowania, które można byłoby anulować. |
currentTarget | Obiekt przetwarzający aktywnie obiekt Event za pomocą detektora zdarzeń. |
errorID | Numer referencyjny skojarzony z konkretnym błędem (tylko w środowisku AIR). |
target | Obiekt sieciowy, w którym wystąpił błąd wejścia/wyjścia. |
text | Tekst, który ma być wyświetlany w charakterze komunikatu o błędzie. |
netStatus | Zdarzenie |
flash.events.NetStatusEvent
właściwość NetStatusEvent.type =
flash.events.NetStatusEvent.NET_STATUS
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Wywoływana, gdy obiekt NetConnection zgłasza swój stan lub warunek błędu. Zdarzenie netStatus
zawiera właściwość info
, która jest obiektem informacji zawierającym informacje charakterystyczne dla zdarzenia np. czy próba połączenia zakończona została pomyślnie, czy niepowodzeniem.
type
obiektu zdarzenia netStatus
.
To zdarzenie ma następujące właściwości:
Właściwość | Wartość |
---|---|
bubbles | false |
cancelable | false ; nie ma domyślnego zachowania, które można byłoby anulować. |
currentTarget | Obiekt przetwarzający aktywnie obiekt Event za pomocą detektora zdarzeń. |
info | Obiekt z właściwościami opisującymi stan obiektu lub warunek błędu. |
target | Obiekt NetConnection lub NetStream informujący o swoim stanie. |
Powiązane elementy interfejsu API
securityError | Zdarzenie |
flash.events.SecurityErrorEvent
właściwość SecurityErrorEvent.type =
flash.events.SecurityErrorEvent.SECURITY_ERROR
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Wywoływane, jeśli wywołanie metody NetConnection.call() skutkuje próbą połączenia z serwerem na zewnątrz obszaru izolowanego.
StałaSecurityErrorEvent.SECURITY_ERROR
definiuje wartość właściwości type
obiektu zdarzenia securityError
.
To zdarzenie ma następujące właściwości:
Właściwość | Wartość |
---|---|
bubbles | false |
cancelable | false ; nie ma domyślnego zachowania, które można byłoby anulować. |
currentTarget | Obiekt przetwarzający aktywnie obiekt Event za pomocą detektora zdarzeń. |
target | Obiekt sieciowy zgłaszający błąd zabezpieczeń. |
text | Tekst, który ma być wyświetlany w charakterze komunikatu o błędzie. |
Powiązane elementy interfejsu API
W tym przykładzie kod tworzący obiekty Video oraz NetStream i wywołujący metody Video.attachNetStream()
i NetStream.play()
jest umieszczany w funkcji modułu obsługi. Moduł obsługi wywoływany jest jedynie w momencie próby połączenia z obiektem NetConnection zakończonej pomyślnie, czyli wtedy, gdy zdarzenie netStatus
zwróci obiekt info
z właściwością code
wskazującą na powodzenie operacji. Zalecane jest odczekanie do momentu pomyślnego nawiązania połączenia, zanim wywołana zostanie metoda NetStream.play()
.
package { import flash.display.Sprite; import flash.events.NetStatusEvent; import flash.events.SecurityErrorEvent; import flash.media.Video; import flash.net.NetConnection; import flash.net.NetStream; import flash.events.Event; public class NetConnectionExample extends Sprite { private var videoURL:String = "http://www.helpexamples.com/flash/video/cuepoints.flv"; private var connection:NetConnection; private var stream:NetStream; private var video:Video = new Video(); public function NetConnectionExample() { connection = new NetConnection(); connection.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler); connection.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler); connection.connect(null); } private function netStatusHandler(event:NetStatusEvent):void { switch (event.info.code) { case "NetConnection.Connect.Success": connectStream(); break; case "NetStream.Play.StreamNotFound": trace("Stream not found: " + videoURL); break; } } private function securityErrorHandler(event:SecurityErrorEvent):void { trace("securityErrorHandler: " + event); } private function connectStream():void { addChild(video); var stream:NetStream = new NetStream(connection); stream.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler); stream.client = new CustomClient(); video.attachNetStream(stream); stream.play(videoURL); } } } class CustomClient { public function onMetaData(info:Object):void { trace("metadata: duration=" + info.duration + " width=" + info.width + " height=" + info.height + " framerate=" + info.framerate); } public function onCuePoint(info:Object):void { trace("cuepoint: time=" + info.time + " name=" + info.name + " type=" + info.type); } }
Tue Jun 12 2018, 12:06 PM Z