Pakiet | flash.net |
Klasa | public class Socket |
Dziedziczenie | Socket EventDispatcher Object |
Implementuje | IDataInput, IDataOutput |
Podklasy | SecureSocket |
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Klasa Socket jest użyteczna podczas pracy z serwerami, które korzystają z protokołów binarnych.
Aby użyć metod klasy Socket, należy najpierw użyć konstruktora new Socket
w celu utworzenia obiektu Socket.
Gniazdo wysyła i odbiera dane asynchronicznie.
W niektórych systemach operacyjnych metoda flush() jest wywoływana automatycznie między ramkami wykonania. W innych systemach operacyjnych, takich jak Windows, dane są wysyłane tylko po jawnym wywołaniu metody flush()
. Sprawdzonym sposobem zapewnienia, że aplikacja zachowuje się niezawodnie we wszystkich systemach operacyjnych, jest wywołanie metody flush()
po zapisaniu do gniazda każdego komunikatu (lub powiązanej grupy danych).
W środowisku Adobe AIR obiekty Socket są tworzone także w momencie nawiązania połączenia z wykrywającym obiektem ServerSocket przez proces zewnętrzny. Obiekt Socket reprezentujący połączenie jest wywoływany przez obiekt ServerSocketConnectEvent. Odniesienia do obiektu Socket powinna utrzymywać aplikacja. W przeciwnym wypadku obiekt będzie podlegał czyszczeniu pamięci i może zostać zniszczony przez środowisko wykonawcze bez ostrzeżenia.
Zawartość SWF działająca w obszarze izolowanym typu lokalnego z systemem plików nie może używać gniazd.
Pliki reguł gniazd w hostach docelowych określają hosty, z których pliki SWF mogą tworzyć połączenia gniazd oraz porty, do których te połączenia mogą być tworzone. Wymagania dotyczące bezpieczeństwa, w odniesieniu do plików reguł gniazd, zostały zaostrzone w ostatnich kilku wydaniach programu Flash Player. We wszystkich wersjach programu Flash Player, firma Adobe zaleca używanie pliku reguł gniazd; w niektórych przypadkach plik ten jest wymagany. Dlatego, jeśli używane są obiekty Socket, należy upewnić się, że w razie potrzeby docelowy host zapewnia plik reguł gniazd.
Poniższa lista podsumowuje wymagania dla plików reguł gniazd w różnych wersjach programu Flash Player:
- W programie Flash Player 9.0.124.0 oraz nowszych wersjach plik reguł gniazd jest wymagany dla każdego połączenia z gniazdem. Oznacza to, że plik reguł gniazd na hoście docelowym jest wymagany bez względu na port, z którym nawiązywane jest połączenie i wymagany jest nawet wtedy, gdy połączenie z portem jest realizowane z portem na tym samym hoście, na którym znajduje się plik SWF.
- W programie Flash Player w wersji 9.0.115.0 i starszych, dla połączeń z portem o numerze poniżej 1024 lub połączeń z hostem innym niż ten, na którym znajduje się plik SWF, wymagane jest użycie pliku reguł gniazd na docelowym hoście.
- W programie Flash Player 9.0.115.0 nawet, jeśli nie jest wymagane użycie pliku reguł gniazd, podczas korzystania z programu Flash Debug Player zostanie wyświetlone ostrzeżenie, gdy na docelowy hoście nie ma pliku reguł.
- W środowisku AIR plik reguł gniazd nie jest wymagany dla treści działających w obszarze izolowanym aplikacji. Pliki reguł gniazd są wymagane dla wszelkich połączeń nawiązywanych przez treść działającą poza obszarem izolowanym aplikacji AIR.
Więcej informacji na temat zabezpieczeń zawiera odpowiedni temat w witrynie Flash Player Developer Center: Bezpieczeństwo
Powiązane elementy interfejsu API
Właściwość | Zdefiniowane przez | ||
---|---|---|---|
bytesAvailable : uint [tylko do odczytu]
Liczba bajtów, które można odczytać z bufora wejściowego. | Socket | ||
bytesPending : uint [tylko do odczytu]
Wskazuje liczbę bajtów, które pozostały w buforze zapisu. | Socket | ||
connected : Boolean [tylko do odczytu]
Wskazuje, czy obiekt Socket jest aktualnie podłączony. | Socket | ||
constructor : Object
Odwołanie do obiektu klasy lub funkcji konstruktora, dotyczące danej instancji obiektu. | Object | ||
endian : String
Przedstawia porządek bajtów danych. | Socket | ||
localAddress : String [tylko do odczytu]
Adres IP, z którym to gniazdo jest powiązane na komputerze lokalnym. | Socket | ||
localPort : int [tylko do odczytu]
Port, z którym to gniazdo jest powiązane na komputerze lokalnym. | Socket | ||
objectEncoding : uint
Zapewnia kontrolę nad wersją formatu AMF stosowaną przy zapisywaniu i odczycie obiektu. | Socket | ||
remoteAddress : String [tylko do odczytu]
Adres IP komputera zdalnego, z którym jest połączone to gniazdo. | Socket | ||
remotePort : int [tylko do odczytu]
Port komputera zdalnego, z którym jest połączone to gniazdo. | Socket | ||
timeout : uint
Wskazuje czas oczekiwania na połączenie w milisekundach. | Socket |
Metoda | Zdefiniowane przez | ||
---|---|---|---|
Tworzy nowy obiekt Socket. | Socket | ||
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 | ||
Zamyka gniazdo. | Socket | ||
Łączy soket z określonym hostem i portem. | Socket | ||
Wywołuje zdarzenie, tj. kieruje je do przepływu zdarzeń. | EventDispatcher | ||
Usuwa wszystkie dane zgromadzone w buforze wyjściowym gniazda. | Socket | ||
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 | ||
Czyta z gniazda wartość typu Boolean. | Socket | ||
Czyta z gniazda bajt ze znakiem. | Socket | ||
Pozwala odczytać z gniazda liczbę bajtów określonych przez parametr długość. | Socket | ||
Czyta z gniazda liczbę zmiennoprzecinkową o podwójnej precyzji (IEEE 754). | Socket | ||
Czyta z gniazda liczbę zmiennoprzecinkową o pojedynczej precyzji (wg normy IEEE 754). | Socket | ||
Czyta z gniazda 32-bitową liczbę całkowitą ze znakiem. | Socket | ||
Czyta wielobajtowy ciąg znaków ze strumienia bajtów, przy użyciu określonego zestawu znaków. | Socket | ||
readObject():*
Czyta z gniazda obiekt zakodowany w formacie AMF. | Socket | ||
Czyta z gniazda 16-bitową liczbę całkowitą ze znakiem. | Socket | ||
Czyta z gniazda bajt bez znaku. | Socket | ||
Czyta z gniazda 32-bitową liczbę całkowitą bez znaku. | Socket | ||
Czyta z gniazda 16-bitową liczbę całkowitą bez znaku. | Socket | ||
Czyta z gniazda ciąg znaków UTF-8. | Socket | ||
Czyta z gniazda liczbę bajtów UTF-8 określonych przez parametr długość, a zwraca ciąg znaków. | Socket | ||
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 | ||
Zapisuje wartość typu Boolean w gnieździe. | Socket | ||
Zapisuje bajt w gnieździe. | Socket | ||
Zapisuje sekwencję bajtów z określonej tablicy bajtów. | Socket | ||
Zapisuje w gnieździe liczbę zmiennoprzecinkową o podwójnej precyzji (IEEE 754). | Socket | ||
Zapisuje w gnieździe liczbę zmiennoprzecinkową o pojedynczej precyzji (wg normy IEEE 754). | Socket | ||
Zapisuje w gnieździe 32-bitową liczbę całkowitą ze znakiem. | Socket | ||
Zapisuje wielobajtowy ciąg znaków ze strumienia bajtów, przy użyciu określonego zestawu znaków. | Socket | ||
Zapisuje w gnieździe obiekt w formacie serializowanym AMF. | Socket | ||
Zapisuje w gnieździe 16-bitową liczbę całkowitą. | Socket | ||
Zapisuje w gnieździe 32-bitową liczbę całkowitą bez znaku. | Socket | ||
Zapisuje w gnieździe następujące dane: 16-bitowa liczba całkowita bez znaku, która określa długość podanego ciągu UTF-8 (w bajtach), a po niej sam ciąg. | Socket | ||
Zapisuje w gnieździe ciąg znaków UTF. | Socket |
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, gdy serwer zamyka połączenie z gniazdem. | Socket | |||
Wywoływane po nawiązaniu połączenia sieciowego. | Socket | |||
[zdarzenie broadcast] Wywoływane, gdy program Flash Player lub aplikacja AIR traci fokus w systemie operacyjnym i przechodzi w stan nieaktywny. | EventDispatcher | |||
Wywoływane, gdy wystąpi błąd wejścia lub wyjścia skutkujący niepowodzeniem operacji wysyłania lub wczytywania. | Socket | |||
Wywoływane, gdy gniazdo przenosi dane z bufora zapisu do warstwy transportu sieci. | Socket | |||
Wywoływane, jeśli wywołanie metody Socket.connect() skutkuje próbą połączenia z serwerem zabronionym przez obszar izolowany lub portem o numerze mniejszym niż 1024 i nie istnieje plik zasad gniazd zezwalający na połączenie. | Socket | |||
Wywoływana, gdy gniazdo odbierze dane. | Socket |
bytesAvailable | właściwość |
bytesAvailable:uint
[tylko do odczytu] Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Liczba bajtów, które można odczytać z bufora wejściowego.
Kod użytkownika musi uzyskać dostęp do właściwości bytesAvailable
, aby upewnić się, że dostępna jest wystarczająca ilość danych, zanim nastąpi próba ich odczytania za pomocą jednej z metod read
.
Implementacja
public function get bytesAvailable():uint
bytesPending | właściwość |
bytesPending:uint
[tylko do odczytu] Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 11, AIR 3.0 |
Wskazuje liczbę bajtów, które pozostały w buforze zapisu.
Tej właściwości należy używać łącznie ze zdarzeniem OutputProgressEvent. Zdarzenie OutputProgressEvent jest generowane, gdy dochodzi do zapisu danych z bufora zapisu do sieci. Ilość danych w buforze oczekujących na zapisanie można sprawdzić, używając właściwości bytesPending
w module obsługi zdarzeń. Zerowa wartość właściwość bytesPending
oznacza, że wszystkie dane zostały przeniesione z bufora zapisu do sieci — można bezpiecznie usunąć moduł obsługi zdarzeń, wyzerować odniesienia do gniazd, rozpocząć następne wysyłanie znajdujące się w kolejce itd.
Implementacja
public function get bytesPending():uint
Powiązane elementy interfejsu API
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 obiekt Socket jest aktualnie podłączony. Wywołanie tej właściwości zwraca wartość true
, jeśli gniazdo jest w danym momencie połączone, w innym przypadku wartość false
.
Implementacja
public function get connected():Boolean
endian | właściwość |
endian:String
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Przedstawia porządek bajtów danych. Możliwe wartości są stałymi należącymi do klasy flash.utils.Endian: Endian.BIG_ENDIAN
albo Endian.LITTLE_ENDIAN
.
Wartością domyślną jest Endian.BIG_ENDIAN.
Implementacja
public function get endian():String
public function set endian(value:String):void
Powiązane elementy interfejsu API
localAddress | właściwość |
localPort | właściwość |
objectEncoding | właściwość |
objectEncoding:uint
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Zapewnia kontrolę nad wersją formatu AMF stosowaną przy zapisywaniu i odczycie obiektu.
Implementacja
public function get objectEncoding():uint
public function set objectEncoding(value:uint):void
Powiązane elementy interfejsu API
remoteAddress | właściwość |
remoteAddress:String
[tylko do odczytu] Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 2 |
Adres IP komputera zdalnego, z którym jest połączone to gniazdo.
Ta właściwość umożliwia określenie adresu IP gniazda klienta przekazanego w zdarzeniu ServerSocketConnectEvent wywołanym przez obiekt ServerSocket. Za pomocą klasy DNSResolver można w razie potrzeby przekonwertować adres IP na nazwę domeny.
Implementacja
public function get remoteAddress():String
Powiązane elementy interfejsu API
remotePort | właściwość |
remotePort:int
[tylko do odczytu] Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 2 |
Port komputera zdalnego, z którym jest połączone to gniazdo.
Ta właściwość umożliwia określenie numeru portu gniazda klienckiego przekazanego w zdarzeniu ServerSocketConnectEvent wywołanym przez obiekt ServerSocket.
Implementacja
public function get remotePort():int
Powiązane elementy interfejsu API
timeout | właściwość |
timeout:uint
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Wskazuje czas (liczba milisekund) oczekiwania na połączenie.
Jeśli połączenie nie zostanie nawiązane w określonym czasie, połączenie zakończy się niepowodzeniem. Wartość domyślna to 20,000 (dwadzieścia sekund).
Implementacja
public function get timeout():uint
public function set timeout(value:uint):void
Socket | () | Konstruktor |
public function Socket(host:String = null, port:int = 0)
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Tworzy nowy obiekt Socket. Jeśli żaden parametr nie zostanie określony, utworzone zostanie gniazdo, które początkowo nie będzie połączone z żadnym hostem. Jeśli parametry zostaną określone, nastąpi próba połączenia z określonym hostem i portem.
Uwaga: zalecane jest używanie konstruktora bez parametrów, dodanie wszelkich detektorów zdarzeń, a następnie wywołanie metody connect
z parametrami host
i port
. Ta sekwencja gwarantuje, że wszystkie detektory zdarzeń zadziałają prawidłowo.
host:String (default = null ) — Pełna nazwa domeny DNS lub adres IP. Adresy protokołu IPv4 zapisuje się w notacji dziesiętnej z kropkami, na przykład 192.0.2.0. W programie Flash Player 9.0.115.0 oraz w środowisku AIR 1.0 i w nowszych wersjach można podawać adresy IPv6, korzystając z notacji szesnastkowej z dwukropkami, na przykład 2001:db8:ccc3:ffff:0:444d:555e:666f. Można także określić wartość jako null w celu połączenia się z serwerem hosta, na którym znajdują się pliki SWF. Jeśli plik SWF wydający to polecenie uruchomiony jest w przeglądarce sieci Web, wówczas host musi należeć do domeny, z której pochodzi plik SWF.
| |
port:int (default = 0 ) — Numer portu protokołu TCP na docelowym hoście użyty w celu nawiązania połączenia. W programie Flash Player 9.0.124.0 i nowszych wersjach na docelowym hoście musi znajdować się plik reguł gniazd określający, że zezwolono na połączenia gniazd z hosta, na którym znajduje się plik SWF, do określonego portu. We wcześniejszych wersjach programu Flash Player plik reguł gniazd wymagany jest jedynie wtedy, gdy połączenie będzie realizowane na porcie o numerze poniżej 1024, lub gdy połączenie będzie realizowane z hostem innym niż ten, na którym znajduje się plik SWF.
|
Zdarzenia
connect: — Wywoływane po nawiązaniu połączenia sieciowego.
| |
ioError: — Wywoływane, jeśli wystąpi błąd wejścia/wyjścia, który spowoduje zerwanie połączenia.
| |
securityError: —
Wywoływane, gdy metoda Socket.connect() usiłuje połączyć się z serwerem, który nie obsługuje pliku reguł gniazd lub z serwerem, którego plik reguł nie udziela wywołującemu hostowi dostępu do określonego portu. Więcej informacji na temat plików reguł zawiera sekcja „Kontrola witryn sieci Web (pliki reguł)” w publikacji ActionScript 3.0 — Podręcznik dla programistów oraz odpowiedni temat witryny Flash Player Developer Center: Security.
|
Zgłasza
SecurityError — Ten błąd występuje w treści SWF z następujących powodów:
|
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 gniazdo. Po wywołaniu metody close()
nie można odczytywać ani zapisywać danych.
Zdarzenie close
wywoływane jest jedynie wtedy, gdy serwer zamyka połączenie; nie jest wywoływane wraz z wywołaniem metody close()
.
Obiektu Socket można użyć ponownie, wywołując raz jeszcze na nim metodę connect()
.
Zgłasza
IOError — Nie udało się zamknąć gniazda lub gniazdo nie było otwarte.
|
connect | () | metoda |
public function connect(host:String, port:int):void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Łączy gniazdo z określonym komputerem i portem.
Jeśli połączenie natychmiast zakończy się niepowodzeniem, wywołane zostanie zdarzenie lub wygenerowany zostanie wyjątek. Jeśli komputer został określony, zostanie wywołane zdarzenie error, a jeśli nie określono żadnego komputera, zostanie wygenerowany wyjątek. W przeciwnym razie zdarzenie poda stan połączenia. Jeśli gniazdo jest już połączone, najpierw zostanie zamknięte istniejące połączenie.
Parametry
host:String — Nazwa lub adres IP hosta, do którego będzie realizowane połączenie. Jeśli nie określono żadnego hosta, hostem do którego nastąpi połączenie jest ten, w którym znajduje się wywołujący plik Jeśli nie zostanie określony host, należy skorzystać z detektora zdarzeń w celu określenia, czy połączenie zostało zrealizowane.
| |
port:int — Numer portu, z którym będzie realizowane połączenie.
|
Zdarzenia
connect: — Wywoływane po nawiązaniu połączenia sieciowego.
| |
ioError: — Wywoływane, jeśli host został określony i wystąpił błąd wejścia/wyjścia, który spowodował zerwanie połączenia.
| |
securityError: — Wywoływane, gdy metoda Socket.connect() usiłuje połączyć się z serwerem, który nie obsługuje pliku reguł gniazd lub z serwerem, którego plik reguł nie udziela wywołującemu hostowi dostępu do określonego portu. Więcej informacji na temat plików reguł zawiera sekcja „Kontrola witryn internetowych (pliki reguł)” w publikacji ActionScript 3.0 — Podręcznik dla programistów oraz odpowiedni temat w Centrum programistów programu Flash Player w kategorii Zabezpieczenia.
|
Zgłasza
IOError — Nie określono żadnego hosta i połączenie nie zostało zrealizowane.
| |
SecurityError — Ten błąd występuje w zawartości SWF z następujących powodów:
|
flush | () | metoda |
public function flush():void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Usuwa wszystkie dane zgromadzone w buforze wyjściowym gniazda.
W niektórych systemach operacyjnych metoda flush() jest wywoływana automatycznie między ramkami wykonania. W innych systemach operacyjnych, takich jak Windows, dane są wysyłane tylko po jawnym wywołaniu metody flush()
. Sprawdzonym sposobem zapewnienia, że aplikacja zachowuje się niezawodnie we wszystkich systemach operacyjnych, jest wywołanie metody flush()
po zapisaniu do gniazda każdego komunikatu (lub powiązanej grupy danych).
Zgłasza
IOError — W gnieździe wystąpił błąd wejścia/wyjścia lub nie jest ono otwarte.
|
readBoolean | () | metoda |
public function readBoolean():Boolean
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Czyta z soketu wartość typu Boolean. Po odczytaniu pojedynczego bajtu metoda zwraca wartość true
, jeśli bajt jest wartością niezerową, w innym wypadku wartośćfalse
.
Boolean — Wartość true , jeśli odczytany bajt jest wartością niezerową, w innym przypadku wartość false .
|
Zgłasza
EOFError — Nie ma wystarczającej ilości dostępnych danych do odczytania.
| |
IOError — W gnieździe wystąpił błąd wejścia/wyjścia lub nie jest ono otwarte.
|
readByte | () | metoda |
public function readByte():int
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Czyta z gniazda bajt ze znakiem.
Zwracaint — Wartość z zakresu od -128 do 127.
|
Zgłasza
EOFError — Nie ma wystarczającej ilości dostępnych danych do odczytania.
| |
IOError — W gnieździe wystąpił błąd wejścia/wyjścia lub nie jest ono otwarte.
|
readBytes | () | metoda |
public function readBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Pozwala odczytać z gniazda liczbę bajtów danych określoną przez parametr length. Bajty zczytywane są do określonej tablicy bajtów, rozpoczynając od pozycji wskazywanej przez parametr offset
.
Parametry
bytes:ByteArray — Obiekt ByteArray, do którego nastąpi odczyt danych.
| |
offset:uint (default = 0 ) — Przesunięcie, od którego zaczyna się odczytywanie danych z tablicy bajtów.
| |
length:uint (default = 0 ) — Liczba bajtów do odczytania. Domyślna wartość 0 powoduje odczyt wszystkich dostępnych danych.
|
Zgłasza
EOFError — Nie ma wystarczającej ilości dostępnych danych do odczytania.
| |
IOError — W gnieździe wystąpił błąd wejścia/wyjścia lub nie jest ono otwarte.
|
readDouble | () | metoda |
public function readDouble():Number
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Czyta z gniazda liczbę zmiennoprzecinkową o podwójnej precyzji (wg normy IEEE 754).
ZwracaNumber — Liczba zmiennoprzecinkowa o podwójnej precyzji (IEEE 754).
|
Zgłasza
EOFError — Nie ma wystarczającej ilości dostępnych danych do odczytania.
| |
IOError — W gnieździe wystąpił błąd wejścia/wyjścia lub nie jest ono otwarte.
|
readFloat | () | metoda |
public function readFloat():Number
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Czyta z gniazda liczbę zmiennoprzecinkową o pojedynczej precyzji (IEEE 754).
ZwracaNumber — Liczba zmiennoprzecinkowa o pojedynczej precyzji (IEEE 754).
|
Zgłasza
EOFError — Nie ma wystarczającej ilości dostępnych danych do odczytania.
| |
IOError — W gnieździe wystąpił błąd wejścia/wyjścia lub nie jest ono otwarte.
|
readInt | () | metoda |
public function readInt():int
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Czyta z gniazda 32-bitową liczbę całkowitą ze znakiem.
Zwracaint — Wartość z zakresu od -2147483648 do 2147483647.
|
Zgłasza
EOFError — Nie ma wystarczającej ilości dostępnych danych do odczytania.
| |
IOError — W gnieździe wystąpił błąd wejścia/wyjścia lub nie jest ono otwarte.
|
readMultiByte | () | metoda |
public function readMultiByte(length:uint, charSet:String):String
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Czyta wielobajtowy ciąg ze strumienia bajtów, przy użyciu określonego zestawu znaków.
Parametry
length:uint — Ilość bajtów do odczytu ze strumienia bajtów.
| |
charSet:String — Ciąg znaków oznaczający zestaw znaków, który ma być używany do interpretacji bajtów. Dozwolone zestawy znaków to "shift_jis" , "CN-GB" oraz "iso-8859-1" . Pełną listę zawiera sekcja Obsługiwane zestawy znaków.
Uwaga: Jeśli system nie rozpoznaje wartości parametru |
String — Ciąg znaków kodowany systemem UTF-8.
|
Zgłasza
EOFError — Nie ma wystarczającej ilości dostępnych danych do odczytania.
|
readObject | () | metoda |
public function readObject():*
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Czyta z gniazda obiekt zakodowany w formacie AMF.
Zwraca* — Obiekt w postaci innej niż serializowana
|
Zgłasza
EOFError — Nie ma wystarczającej ilości dostępnych danych do odczytania.
| |
IOError — W gnieździe wystąpił błąd wejścia/wyjścia lub nie jest ono otwarte.
|
Powiązane elementy interfejsu API
readShort | () | metoda |
public function readShort():int
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Czyta z gniazda 16-bitową liczbę całkowitą ze znakiem.
Zwracaint — Wartość z zakresu od -32768 do 32767.
|
Zgłasza
EOFError — Nie ma wystarczającej ilości dostępnych danych do odczytania.
| |
IOError — W gnieździe wystąpił błąd wejścia/wyjścia lub nie jest ono otwarte.
|
readUnsignedByte | () | metoda |
public function readUnsignedByte():uint
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Czyta z gniazda bajt bez znaku.
Zwracauint — Wartość z zakresu od 0 do 255.
|
Zgłasza
EOFError — Nie ma wystarczającej ilości dostępnych danych do odczytania.
| |
IOError — W gnieździe wystąpił błąd wejścia/wyjścia lub nie jest ono otwarte.
|
readUnsignedInt | () | metoda |
public function readUnsignedInt():uint
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Czyta z gniazda 32-bitową liczbę całkowitą bez znaku.
Zwracauint — Wartość z zakresu od 0 do 4294967295.
|
Zgłasza
EOFError — Nie ma wystarczającej ilości dostępnych danych do odczytania.
| |
IOError — W gnieździe wystąpił błąd wejścia/wyjścia lub nie jest ono otwarte.
|
readUnsignedShort | () | metoda |
public function readUnsignedShort():uint
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Czyta z gniazda 16-bitową liczbę całkowitą bez znaku.
Zwracauint — Wartość z zakresu od 0 do 65535.
|
Zgłasza
EOFError — Nie ma wystarczającej ilości dostępnych danych do odczytania.
| |
IOError — W gnieździe wystąpił błąd wejścia/wyjścia lub nie jest ono otwarte.
|
readUTF | () | metoda |
public function readUTF():String
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Czyta z gniazda ciąg znaków UTF-8. Zakłada się, że ciąg jest poprzedzony prefiksem w postaci liczby całkowitej typu short bez znaku, która określa długość ciągu w bajtach.
ZwracaString — Ciąg znaków kodowany systemem UTF-8.
|
Zgłasza
EOFError — Nie ma wystarczającej ilości dostępnych danych do odczytania.
| |
IOError — W gnieździe wystąpił błąd wejścia/wyjścia lub nie jest ono otwarte.
|
readUTFBytes | () | metoda |
public function readUTFBytes(length:uint):String
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Pozwala odczytać bajty danych zapisanych systemem UTF-8 określonych w parametrze length
gniazda i zwraca ciąg znaków.
Parametry
length:uint — Ilość bajtów do odczytu.
|
String — Ciąg znaków kodowany systemem UTF-8.
|
Zgłasza
EOFError — Nie ma wystarczającej ilości dostępnych danych do odczytania.
| |
IOError — W gnieździe wystąpił błąd wejścia/wyjścia lub nie jest ono otwarte.
|
writeBoolean | () | metoda |
public function writeBoolean(value:Boolean):void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Zapisuje wartość typu Boolean w sokecie. Ta metoda zapisuje pojedynczy bajt o wartości 1 (wartość true
) lub 0 (wartość false
).
Parametry
value:Boolean — Wartość zapisywana do gniazda: 1 (wartość true ) lub 0 (wartość false ).
|
Zgłasza
IOError — W gnieździe wystąpił błąd wejścia/wyjścia lub nie jest ono otwarte.
|
Powiązane elementy interfejsu API
writeByte | () | metoda |
public function writeByte(value:int):void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Zapisuje bajt w gnieździe.
Parametry
value:int — Wartość zapisywana do gniazda. Używanych jest 8 najmniej znaczących bitów wartości; bardziej znaczące 24 bity są ignorowane.
|
Zgłasza
IOError — W gnieździe wystąpił błąd wejścia/wyjścia lub nie jest ono otwarte.
|
Powiązane elementy interfejsu API
writeBytes | () | metoda |
public function writeBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Zapisuje sekwencję bajtów z określonej tablicy bajtów. Operacja write·rozpoczyna się na pozycji określonej parametrem offset
.
Jeśli pominięty zostanie parametr length
, jego domyślna wartość 0 spowoduje, że metoda zapisze cały bufor rozpoczynając od pozycji określonej parametrem offset
.
Jeśli zostanie również pominięty parametr offset
, zostanie zapisany cały bufor.
Parametry
bytes:ByteArray — Obiekt ByteArray, do którego mają zostać zapisane dane.
| |
offset:uint (default = 0 ) — Przesunięcie, indeksowane od zera, dla danych określonych parametrem bytes obiektu ByteArray, w którym rozpoczyna się zapis danych.
| |
length:uint (default = 0 ) — Liczba bajtów do zapisania. Wartość domyślna 0 powoduje, że jest zapisywany cały bufor, zaczynając od wartości określonej przez parametr offset .
|
Zgłasza
IOError — W gnieździe wystąpił błąd wejścia/wyjścia lub nie jest ono otwarte.
| |
RangeError — Jeśli wartość offset jest większa od wartości ByteArray podanej w parametrze bytes lub ilość danych do zapisania wynikająca z wartości offset plus length jest większa od ilości dostępnych danych.
|
Powiązane elementy interfejsu API
writeDouble | () | metoda |
public function writeDouble(value:Number):void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Zapisuje w gnieździe liczbę zmiennoprzecinkową o podwójnej precyzji (wg normy IEEE 754).
Parametry
value:Number — Wartość zapisywana do gniazda.
|
Zgłasza
IOError — W gnieździe pojawił się błąd wej/wyj lub nie jest ono otwarte.
|
Powiązane elementy interfejsu API
writeFloat | () | metoda |
public function writeFloat(value:Number):void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Zapisuje w gnieździe liczbę zmiennoprzecinkową o pojedynczej precyzji (IEEE 754).
Parametry
value:Number — Wartość zapisywana do gniazda.
|
Zgłasza
IOError — W gnieździe pojawił się błąd wej/wyj lub nie jest ono otwarte.
|
Powiązane elementy interfejsu API
writeInt | () | metoda |
public function writeInt(value:int):void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Zapisuje w gnieździe 32-bitową liczbę całkowitą ze znakiem.
Parametry
value:int — Wartość zapisywana do gniazda.
|
Zgłasza
IOError — W gnieździe pojawił się błąd wej/wyj lub nie jest ono otwarte.
|
Powiązane elementy interfejsu API
writeMultiByte | () | metoda |
public function writeMultiByte(value:String, charSet:String):void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Zapisuje wielobajtowy ciąg ze strumienia bajtów, używając określonego zestawu znaków.
Parametry
value:String — Wartość ciągu znaków przeznaczona do zapisu.
| |
charSet:String — Ciąg znaków oznaczający zestaw znaków, który ma być używany do interpretacji bajtów. Dozwolone zestawy znaków to "shift_jis" , "CN-GB" oraz "iso-8859-1" . Pełną listę zawiera sekcja Obsługiwane zestawy znaków.
|
Powiązane elementy interfejsu API
writeObject | () | metoda |
public function writeObject(object:*):void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Zapisuje w gnieździe obiekt w formacie serializowanym AMF.
Parametry
object:* — Obiekt, który ma być serializowany.
|
Zgłasza
IOError — W gnieździe wystąpił błąd wejścia/wyjścia lub nie jest ono otwarte.
|
Powiązane elementy interfejsu API
writeShort | () | metoda |
public function writeShort(value:int):void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Zapisuje w gnieździe 16-bitową liczbę całkowitą. Bajty zapisywane są następujący sposób:
(v >> 8) & 0xff v & 0xff
Używanych jest 16 najmniej znaczących bitów parametru; bardziej znaczące 16 bitów jest ignorowane.
Parametry
value:int — Wartość zapisywana do gniazda.
|
Zgłasza
IOError — W gnieździe pojawił się błąd wej/wyj lub nie jest ono otwarte.
|
Powiązane elementy interfejsu API
writeUnsignedInt | () | metoda |
public function writeUnsignedInt(value:uint):void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Zapisuje w gnieździe 32-bitową liczbę całkowitą bez znaku.
Parametry
value:uint — Wartość zapisywana do gniazda.
|
Zgłasza
IOError — W gnieździe pojawił się błąd wej/wyj lub nie jest ono otwarte.
|
Powiązane elementy interfejsu API
writeUTF | () | metoda |
public function writeUTF(value:String):void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Zapisuje w gnieździe następujące dane: 16-bitowa liczba całkowita bez znaku, która określa długość podanego ciągu UTF-8 (w bajtach), a po niej sam ciąg.
Przed zapisaniem ciągu metoda oblicza liczbę bajtów potrzebnych do przedstawienia wszystkich znaków ciągu.
Parametry
value:String — Ciąg znaków zapisywany do gniazda.
|
Zgłasza
RangeError — Długość jest większa niż 65535.
| |
IOError — W gnieździe wystąpił błąd wejścia/wyjścia lub nie jest ono otwarte.
|
Powiązane elementy interfejsu API
writeUTFBytes | () | metoda |
public function writeUTFBytes(value:String):void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Zapisuje w gnieździe ciąg UTF.
Parametry
value:String — Ciąg znaków zapisywany do gniazda.
|
Zgłasza
IOError — W gnieździe wystąpił błąd wejścia/wyjścia lub nie jest ono otwarte.
|
Powiązane elementy interfejsu API
close | Zdarzenie |
flash.events.Event
właściwość Event.type =
flash.events.Event.CLOSE
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Wywoływana, gdy serwer zamyka połączenie z gniazdem.
Zdarzenie close
wywoływane jest jedynie wtedy, gdy serwer zamyka połączenie; nie jest wywoływane w wyniku wywołania metodySocket.close()
.
Event.CLOSE
definiuje wartość właściwości type
obiektu zdarzenia close
.
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, którego połączenie zostało zamknięte. |
connect | Zdarzenie |
flash.events.Event
właściwość Event.type =
flash.events.Event.CONNECT
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Wywoływane po nawiązaniu połączenia sieciowego.
StałaEvent.CONNECT
definiuje wartość właściwości type
obiektu zdarzenia connect
.
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 Socket lub XMLSocket, który nawiązał połączenie sieciowe. |
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ływane, gdy wystąpi błąd wejścia lub wyjścia skutkujący niepowodzeniem operacji wysyłania lub wczytywania.
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. |
outputProgress | Zdarzenie |
flash.events.OutputProgressEvent
Wywoływane, gdy gniazdo przenosi dane z bufora zapisu do warstwy transportu sieci.
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 Socket.connect()
skutkuje próbą połączenia z serwerem zabronionym przez obszar izolowany lub portem o numerze mniejszym niż 1024 i nie istnieje plik zasad gniazd zezwalający na połączenie.
Uwaga: W aplikacji AIR zawartość działająca w obszarze izolowanym aplikacji może łączyć się bez pliku zasad gniazd z dowolnym serwerem i z portem o dowolnym numerze.
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
socketData | Zdarzenie |
flash.events.ProgressEvent
właściwość ProgressEvent.type =
flash.events.ProgressEvent.SOCKET_DATA
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Wywoływane, gdy gniazdo odbiera dane.
Dane odebrane przez gniazdo pozostają w gnieździe, aż zostaną odczytane. Metoda obsługi tego zdarzenia nie musi odczytać wszystkich dostępnych danych.
Zdarzenia typu socketData
nie używają właściwości ProgressEvent.bytesTotal
.
type
obiektu zdarzenia socketData
.
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, który aktywnie przetwarza zdarzenie Event. |
bytesLoaded | Liczba elementów lub bajtów załadowanych w momencie, w którym detektor przetwarza zdarzenie. |
bytesTotal | 0; ta właściwość nie jest używana w obiektach zdarzeń socketData . |
target | Gniazdo informujące o postępie. |
- Konstruktor tworzy instancję
CustomSocket
o nazwiesocket
i przekazuje nazwę hostalocalhost
numer portu 80 jako argumenty. Ponieważ klasaCustomSocket
rozszerza klasę Socket, wywołanie metodysuper()
powoduje wywołanie konstruktora klasy Socket. - W przykładzie wywoływana jest następnie metoda
configureListeners()
, która dodaje detektory dla zdarzeń Socket. - Na końcu wywoływana jest metoda
connect()
gniazda z wartościąlocalhost
jako nazwą hosta i numerem portu 80.
Uwaga: aby uruchomić przykład, potrzebny jest serwer działający w tej samej domenie, w której znajduje się plik SWF (w przykładzie localhost
), i wykrywający zdarzenia na porcie numer 80.
package { import flash.display.Sprite; public class SocketExample extends Sprite { private var socket:CustomSocket; public function SocketExample() { socket = new CustomSocket("localhost", 80); } } } import flash.errors.*; import flash.events.*; import flash.net.Socket; class CustomSocket extends Socket { private var response:String; public function CustomSocket(host:String = null, port:uint = 0) { super(); configureListeners(); if (host && port) { super.connect(host, port); } } private function configureListeners():void { addEventListener(Event.CLOSE, closeHandler); addEventListener(Event.CONNECT, connectHandler); addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler); addEventListener(ProgressEvent.SOCKET_DATA, socketDataHandler); } private function writeln(str:String):void { str += "\n"; try { writeUTFBytes(str); } catch(e:IOError) { trace(e); } } private function sendRequest():void { trace("sendRequest"); response = ""; writeln("GET /"); flush(); } private function readResponse():void { var str:String = readUTFBytes(bytesAvailable); response += str; } private function closeHandler(event:Event):void { trace("closeHandler: " + event); trace(response.toString()); } private function connectHandler(event:Event):void { trace("connectHandler: " + event); sendRequest(); } private function ioErrorHandler(event:IOErrorEvent):void { trace("ioErrorHandler: " + event); } private function securityErrorHandler(event:SecurityErrorEvent):void { trace("securityErrorHandler: " + event); } private function socketDataHandler(event:ProgressEvent):void { trace("socketDataHandler: " + event); readResponse(); } }
Tue Jun 12 2018, 12:06 PM Z