| Пакет | flash.net |
| Класс | public class Socket |
| Наследование | Socket EventDispatcher Object |
| Реализует | IDataInput, IDataOutput |
| Подклассы | SecureSocket |
| Язык версии: | ActionScript 3.0 |
| Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Класс Socket применяется при работе с серверами, использующими двоичные протоколы.
Для использования методов класса Socket, необходимо сначала создать объект Socket с помощью конструктора new Socket.
Сокет передает и получает данные асинхронно.
В одних операционных системах метод flush() автоматически вызывается между кадрами выполнения, а в других, таких как Windows, данные никогда не отправляются, пока в коде не будет вызван метод flush(). Чтобы обеспечить надежное поведение приложения во всех операционных системах, рекомендуется вызывать метод flush() после записи каждого сообщения (или связанной группы данных) в сокет.
В Adobe AIR объекты Socket также создаются, когда прослушивающий экземпляр ServerSocket получает подключение от внешнего процесса. Объект Socket, представляющий подключение, отправляется в событии ServerSocketConnectEvent. Приложение должно поддерживать ссылку на объект Socket. В противном случае объект Socket подлежит сборке мусора и может быть без предупреждения уничтожен во время выполнения.
Содержимое SWF, выполняемое в изолированной среде безопасности, локальной для файловой системой, не может использовать сокеты.
Файлы политик сокетов на целевом узле определяют узлы, с которых SWF-файлы могут создавать подключения к сокетам, а также порты, доступные для таких подключений. В нескольких последних версиях Flash Player были ужесточены требования по безопасности относительно файлов политик сокетов. Компания Adobe рекомендует использовать файл политик для сокетов для всех версий Flash Player, а в некоторых случаях его применение является обязательным. Поэтому, если используются объекты Socket, проследите, чтобы целевой узел при необходимости предоставлял файл политик для сокетов.
В следующем списке приводятся все требования к файлам политик сокетов для разных версий Flash Player.
- В Flash Player 9.0.124.0 и более поздних версиях файл политик для сокетов является обязательным для любого подключения Socket. Другими словами, файл политик для сокетов обязательно должен быть на целевом узле независимо от того, к какому порту выполняется подключение. Этот файл должен быть, даже если устанавливается подключение к порту на том же узле, на котором находится SWF-файл.
- В приложении Flash Player 9.0.115.0 и более ранних версиях файл политик для сокетов на целевом узле является обязательным, если устанавливается подключение к порту с номером меньше 1024 или если требуется подключиться не к тому узлу, на котором размещен SWF-файл.
- В Flash Player 9.0.115.0 при использовании отладочной версии проигрывателя в случае отсутствия файла политик для сокетов на целевом сервере отображается предупреждение, даже если файл политик для сокетов не является обязательным.
- В AIR файл политики сокетов не является обязательным для содержимого, выполняемого в изолированной среде безопасности приложения. Файлы политик сокетов являются обязательными для любого подключения к сокету, устанавливаемого содержимым, выполняемым за пределами изолированной среды безопасности приложения AIR.
Дополнительные сведения о безопасности см. в разделе центра разработчиков Flash Player Безопасность
Связанные элементы API
| Свойство | Определено | ||
|---|---|---|---|
| bytesAvailable : uint [только для чтения]
Число байт данных, доступных для чтения во входном буфере. | Socket | ||
| bytesPending : uint [только для чтения]
Указывает количество байт, оставшихся в буфере записи. | Socket | ||
| connected : Boolean [только для чтения]
Определяет, подключен ли в настоящий момент этот объект Socket. | Socket | ||
![]() | constructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта. | Object | |
| endian : String
Указывает порядок байтов для данных. | Socket | ||
| localAddress : String [только для чтения]
IP-адрес, с которым связан этот сокет, на локальном компьютере. | Socket | ||
| localPort : int [только для чтения]
Порт, с которым связан этот сокет, на локальном компьютере. | Socket | ||
| objectEncoding : uint
Управляет версией AMF, применяемой при записи или чтении объекта. | Socket | ||
| remoteAddress : String [только для чтения]
IP-адрес удаленного компьютера, к которому подключен этот сокет. | Socket | ||
| remotePort : int [только для чтения]
Порт на удаленном компьютере, к которому подключен этот сокет. | Socket | ||
| timeout : uint
Указывает время ожидания подключения в миллисекундах. | Socket | ||
| Метод | Определено | ||
|---|---|---|---|
Создает новый объект Socket. | Socket | ||
![]() | addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Регистрирует объект прослушивателя события на объекте EventDispatcher для получения прослушивателем уведомления о событии. | EventDispatcher | |
Закрывает сокет. | Socket | ||
Подключает сокет к заданному узлу и порту. | Socket | ||
![]() |
Посылает событие в поток событий. | EventDispatcher | |
Очищает любые накопленные данные в выходном буфере сокета. | Socket | ||
![]() |
Проверяет, имеет ли объект EventDispatcher прослушиватели, зарегистрированные для определенного типа события. | EventDispatcher | |
![]() |
Показывает, определено ли заданное свойство для объекта. | Object | |
![]() |
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра. | Object | |
![]() |
Показывает наличие заданного свойства и его перечисляемость. | Object | |
Считывает из сокета логическое значение. | Socket | ||
Считывает из сокета байт со знаком. | Socket | ||
Считывает из сокета число байт данных, заданное параметром length. | Socket | ||
Считывает из сокета число IEEE 754 двойной точности с плавающей запятой. | Socket | ||
Считывает из сокета число IEEE 754 одинарной точности с плавающей запятой. | Socket | ||
Считывает из сокета 32-разрядное целое число со знаком. | Socket | ||
Считывает многобайтовую строку из потока байт с использованием заданного набора знаков. | Socket | ||
readObject():*
Считывает объект из сокета, зашифрованного в сериализованный формат AMF. | Socket | ||
Считывает из сокета 16-разрядное целое число со знаком. | Socket | ||
Считывает из сокета байт без знака. | Socket | ||
Считывает из сокета 32-разрядное целое число без знака. | Socket | ||
Считывает из сокета 16-разрядное целое число без знака. | Socket | ||
Считывает из сокета строку UTF-8. | Socket | ||
Считывает из сокета число байт данных UTF-8, заданное параметром length и возвращает строку. | Socket | ||
![]() |
Удаляет прослушиватель из объекта EventDispatcher. | EventDispatcher | |
![]() |
Задает доступность динамического свойства для операций цикла. | Object | |
![]() |
Возвращает строковое представление этого объекта, отформатированного в соответствии со стандартами, принятыми для данной локали. | Object | |
![]() |
Возвращает строковое представление заданного объекта. | Object | |
![]() |
Возвращает элементарное значение заданного объекта. | Object | |
![]() |
Проверяет, зарегистрирован ли прослушиватель события для указанного типа события с данным объектом EventDispatcher или любым его предшественником. | EventDispatcher | |
Записывает логическое значение в сокет. | Socket | ||
Записывает байт в сокет. | Socket | ||
Записывает последовательность байт из заданного массива байт. | Socket | ||
Записывает в сокет число IEEE 754 двойной точности с плавающей запятой. | Socket | ||
Записывает в сокет число IEEE 754 одинарной точности с плавающей запятой. | Socket | ||
Записывает в сокет 32-разрядное целое число со знаком. | Socket | ||
Записывает многобайтовую строку из потока байт с использованием заданного набора знаков. | Socket | ||
Записывает объект в сокет в сериализованном формате AMF. | Socket | ||
Записывает в сокет 16-разрядное целое число. | Socket | ||
Записывает в сокет 32-разрядное целое число без знака. | Socket | ||
Записывает следующие данные в сокет: 16-разрядное целое число без знака, указывающее на длину заданной строки UTF-8 в байтах, а затем саму строку. | Socket | ||
Записывает строку UTF-8 в сокет. | Socket | ||
| Событие | Сводка | Определено | ||
|---|---|---|---|---|
![]() | [многоадресное событие] Отправляется, когда проигрыватель Flash Player или приложение AIR перемещается в фокус операционной системы и становится активным. | EventDispatcher | ||
| Отправляется, когда сервер закрывает подключение к сокету. | Socket | |||
| Отправляется после установления сетевого подключения. | Socket | |||
![]() | [многоадресное событие] Отправляется, когда проигрыватель Flash Player или приложение AIR теряет фокус системы и становится неактивным. | EventDispatcher | ||
| Отправляется, когда происходит ошибка ввода-вывода, приводящая к сбою операции отправки или загрузки. | Socket | |||
| Передается при перемещении данных сокетом из буфера записи на уровень сетевого транспорта | Socket | |||
| Отправляется, если метод Socket.connect() предпринимает попытку подключиться к серверу, который запрещен изолированной средой безопасности вызывающего приложения, или к порту с номером меньше 1024, когда нет файла политики сокетов, разрешающего такое подключение. | Socket | |||
| Отправляется, когда сокет получает данные. | Socket | |||
bytesAvailable | свойство |
bytesAvailable:uint [только для чтения] | Язык версии: | ActionScript 3.0 |
| Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Число байт данных, доступных для чтения во входном буфере.
В вашем коде должен быть вызов свойства bytesAvailable, проверяющий доступность необходимого объема данных до того, как вы попытаетесь сосчитать их с помощью одного из методов read.
Реализация
public function get bytesAvailable():uintbytesPending | свойство |
bytesPending:uint [только для чтения] | Язык версии: | ActionScript 3.0 |
| Версии среды выполнения: | Flash Player 11, AIR 3.0 |
Указывает количество байт, оставшихся в буфере записи.
Используйте это свойство вместе с OutputProgressEvent. Событие OutputProgressEvent отправляется каждый раз при записи данных из буфера записи в сетевое местоположение. В обработчике события можно проверить bytesPending, чтобы узнать, сколько данных осталось в буфере и ожидает записи. Когда bytesPending возвращает 0, это значит, что все данные переданы из буфера записи в сетевое местоположение и теперь можно удалять обработчики событий, обнулять ссылки на сокеты, начинать следующую отправку в очереди и т.д.
Реализация
public function get bytesPending():uintСвязанные элементы API
connected | свойство |
connected:Boolean [только для чтения] | Язык версии: | ActionScript 3.0 |
| Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Определяет, подключен ли в настоящий момент этот объект Socket. Вызов этого свойства возвращает значение true, если сокет в настоящий момент подключен, или значение false, если не подключен.
Реализация
public function get connected():Booleanendian | свойство |
endian:String| Язык версии: | ActionScript 3.0 |
| Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Определяет порядок байтов данных. Возможными значениями являются константы из класса flash.utils.Endian, Endian.BIG_ENDIAN или Endian.LITTLE_ENDIAN.
Значением по умолчанию является Endian.BIG_ENDIAN.
Реализация
public function get endian():String public function set endian(value:String):voidСвязанные элементы API
localAddress | свойство |
localPort | свойство |
objectEncoding | свойство |
objectEncoding:uint| Язык версии: | ActionScript 3.0 |
| Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Управляет версией AMF, применяемой при записи или чтении объекта.
Реализация
public function get objectEncoding():uint public function set objectEncoding(value:uint):voidСвязанные элементы API
remoteAddress | свойство |
remoteAddress:String [только для чтения] | Язык версии: | ActionScript 3.0 |
| Версии среды выполнения: | AIR 2 |
IP-адрес удаленного компьютера, к которому подключен этот сокет.
С помощью этого свойства можно определить IP-адрес клиентского сокета, отправленный объектом ServerSocket в событии ServerSocketConnectEvent. Если потребуется, используйте класс DNSResolver для преобразования IP-адреса в имя домена.
Реализация
public function get remoteAddress():StringСвязанные элементы API
remotePort | свойство |
remotePort:int [только для чтения] | Язык версии: | ActionScript 3.0 |
| Версии среды выполнения: | AIR 2 |
Порт на удаленном компьютере, к которому подключен этот сокет.
С помощью этого свойства можно определить номер порта клиентского сокета, отправленный объектом ServerSocket в событии ServerSocketConnectEvent.
Реализация
public function get remotePort():intСвязанные элементы API
timeout | свойство |
timeout:uint| Язык версии: | ActionScript 3.0 |
| Версии среды выполнения: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Указывает время ожидания подключения в миллисекундах.
Если подключение не будет установлено в течение заданного срока, попытка завершается ошибкой. Значение по умолчанию: 20,000 (двадцать секунд).
Реализация
public function get timeout():uint public function set timeout(value:uint):voidSocket | () | Конструктор |
public function Socket(host:String = null, port:int = 0)| Язык версии: | ActionScript 3.0 |
| Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Создает новый объект Socket. Если не указаны никакие параметры, создается первоначально отключенный сокет. Если параметры указаны, производится попытка подключиться к указанному узлу и порту.
Примечание. Настоятельно рекомендуется использовать форму конструктора без параметров, затем добавить любые прослушиватели событий, после чего вызвать метод connect с параметрами host и port. Эта последовательность гарантирует правильную работу всех приемников событий.
host:String (default = null) — Полностью определенное имя домена DNS или IP-адрес. Адреса IPv4 указываются с использованием десятичного представления с разделителем-точкой, например 192.0.2.0. В приложении Flash Player 9.0.115.0 и AIR 1.0 и более поздней версии можно задать IPv6-адреса в шестнадцатеричном представлении с двоеточием, например 2001:db8:ccc3:ffff:0:444d:555e:666f. Также можно указать null, чтобы подключиться к серверу узла, на котором размещен рассматриваемый SWF-файл. Если SWF-файл, инициирующий данный вызов, запущен в веб-обозревателе, то в параметре host должен указываться тот же домен, в котором находится SWF-файл.
| |
port:int (default = 0) — Номер TCP-порта на целевом узле, используемый для установки подключения. Для Flash Player 9.0.124.0 и более поздних версий на целевом узле должен быть файл политик для сокетов, разрешающий подключения к сокетам через указанный порт для узла, на котором размещен SWF-файл. Для более ранних версий Flash Player файл политик для сокетов является обязательным, только если требуется подключиться к порту с номером ниже 1024 или если SWF-файл находится не на том узле, к которому выполняется подключение.
|
События
connect: — Отправляется после установления сетевого подключения.
| |
ioError: — Отправляется, когда происходит ошибка ввода-вывода, приводящая к сбою подключения.
| |
securityError: —
Отправляется, если вызов Socket.connect() пытается установить подключение к серверу, на котором нет файла политик для сокетов, либо к серверу, на котором файл политик для сокетов не предоставляет вызывающему узлу доступ к указанному порту. Дополнительные сведения о файлах политик см. в главе «Элементы управления веб-сайтом (файлы политики)» в Руководстве разработчика по ActionScript 3.0, а также в разделе центра разработчиков Flash Player Developer Center: Безопасность.
|
Выдает
SecurityError — Эта ошибка возникает в содержимом SWF по следующим причинам:
|
close | () | метод |
public function close():void| Язык версии: | ActionScript 3.0 |
| Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Закрывает сокет. После вызова метода close() вы не сможете считать или записать какие-либо данные.
Событие close отправляется только в тот момент, когда сервер закрывает соединение. Оно не отправляется при вызове метода close().
Для повторного использования объекта Socket снова вызовите для него метод connect().
Выдает
IOError — Не удалось закрыть сокет или сокет не был открыт.
|
connect | () | метод |
public function connect(host:String, port:int):void| Язык версии: | ActionScript 3.0 |
| Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Подключает сокет к заданному узлу и порту.
Мгновенный сбой подключения приводит к отправке события или созданию исключения: если узел был указан, отправляется событие ошибки, а если узел не был указан, то создается исключение. В противном случае, состояние подключения сообщается посредством события. Если сокет уже подключен, то сначала закрывается именно существующее подключение.
Параметры
host:String — Имя или IP-адрес узла, к которому нужно подключиться. Если узел не указан, то обращение производится к тому узлу, на котором размещен вызывающий файл. Если узел не указан, для определения успешности подключения используйте прослушиватель событий.
| |
port:int — Номер порта для подключения.
|
События
connect: — Отправляется после установления сетевого подключения.
| |
ioError: — Отправляется, если узел указан, но возникает ошибка ввода-вывода, вызывающая сбой подключения.
| |
securityError: — Отправляется, если вызов Socket.connect() пытается установить подключение к серверу, на котором нет файла политик для сокетов, либо к серверу, на котором файл политик для сокетов не предоставляет вызывающему узлу доступ к указанному порту. Дополнительные сведения о файлах политик см. в главе «Элементы управления веб-сайтом (файлы политики)» в Руководстве разработчика по ActionScript 3.0, а также в разделе центра разработчиков Flash Player Developer Center: Безопасность.
|
Выдает
IOError — Сбой подключения, так как не был указан узел.
| |
SecurityError — Эта ошибка возникает в содержимом SWF по следующим причинам:
|
flush | () | метод |
public function flush():void| Язык версии: | ActionScript 3.0 |
| Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Очищает любые накопленные данные в выходном буфере сокета.
В одних операционных системах метод flush() автоматически вызывается между кадрами выполнения, а в других, таких как Windows, данные никогда не отправляются, пока в коде не будет вызван метод flush(). Чтобы обеспечить надежное поведение приложения во всех операционных системах, рекомендуется вызывать метод flush() после записи каждого сообщения (или связанной группы данных) в сокет.
Выдает
IOError — В сокете возникла ошибка ввода-вывода или сокет не был открыт.
|
readBoolean | () | метод |
public function readBoolean():Boolean| Язык версии: | ActionScript 3.0 |
| Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Считывает из сокета логическое значение. После считывания одного байта метод возвращает true, если этот байт ненулевой, в противном случае, возвращается значение false.
Boolean — Значение равно true, если считывается ненулевой байт, в противном случае используется значение false.
|
Выдает
EOFError — Недостаточно данных, доступных для чтения.
| |
IOError — В сокете возникла ошибка ввода-вывода или сокет не был открыт.
|
readByte | () | метод |
public function readByte():int| Язык версии: | ActionScript 3.0 |
| Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Считывает из сокета байт со знаком.
Возвращаетint — Значение в диапазоне от -128 до 127.
|
Выдает
EOFError — Недостаточно данных, доступных для чтения.
| |
IOError — В сокете возникла ошибка ввода-вывода или сокет не был открыт.
|
readBytes | () | метод |
public function readBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void| Язык версии: | ActionScript 3.0 |
| Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Считывает из сокета число байт данных, заданное параметром length. Байты считываются в указанный байтовый массив, при этом начальная позиция указывается в параметре offset.
Параметры
bytes:ByteArray — Объект ByteArray, в который считываются данные.
| |
offset:uint (default = 0) — Смещение, с которого должно начинаться считывание данных в байтовом массиве.
| |
length:uint (default = 0) — Число байтов для считывания. Если значение по умолчанию равно 0, считываются все доступные данные.
|
Выдает
EOFError — Недостаточно данных, доступных для чтения.
| |
IOError — В сокете возникла ошибка ввода-вывода или сокет не был открыт.
|
readDouble | () | метод |
public function readDouble():Number| Язык версии: | ActionScript 3.0 |
| Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Считывает из сокета число IEEE 754 двойной точности с плавающей запятой.
ВозвращаетNumber — Число IEEE 754 двойной точности с плавающей запятой.
|
Выдает
EOFError — Недостаточно данных, доступных для чтения.
| |
IOError — В сокете возникла ошибка ввода-вывода или сокет не был открыт.
|
readFloat | () | метод |
public function readFloat():Number| Язык версии: | ActionScript 3.0 |
| Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Считывает из сокета число IEEE 754 одинарной точности с плавающей запятой.
ВозвращаетNumber — Число IEEE 754 одинарной точности с плавающей запятой.
|
Выдает
EOFError — Недостаточно данных, доступных для чтения.
| |
IOError — В сокете возникла ошибка ввода-вывода или сокет не был открыт.
|
readInt | () | метод |
public function readInt():int| Язык версии: | ActionScript 3.0 |
| Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Считывает из сокета 32-разрядное целое число со знаком.
Возвращаетint — Значение в диапазоне от -2147483648 до 2147483647.
|
Выдает
EOFError — Недостаточно данных, доступных для чтения.
| |
IOError — В сокете возникла ошибка ввода-вывода или сокет не был открыт.
|
readMultiByte | () | метод |
public function readMultiByte(length:uint, charSet:String):String| Язык версии: | ActionScript 3.0 |
| Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Считывает многобайтовую строку из потока байт с использованием заданного набора знаков.
Параметры
length:uint — Число считываемых из потока байтов.
| |
charSet:String — Строка, обозначающая набор символов, которые используются для интерпретации байтов. Возможные строки наборов символов: shift_jis, CN-GB и iso-8859-1. Полный список см. в разделе Поддерживаемые наборы символов.
Примечание. Если текущая система не распознает значение параметра |
String — Строка в кодировке UTF-8.
|
Выдает
EOFError — Недостаточно данных, доступных для чтения.
|
readObject | () | метод |
public function readObject():*| Язык версии: | ActionScript 3.0 |
| Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Считывает объект из сокета, зашифрованного в сериализованный формат AMF.
Возвращает* — Десериализованный объект
|
Выдает
EOFError — Недостаточно данных, доступных для чтения.
| |
IOError — В сокете возникла ошибка ввода-вывода или сокет не был открыт.
|
Связанные элементы API
readShort | () | метод |
public function readShort():int| Язык версии: | ActionScript 3.0 |
| Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Считывает из сокета 16-разрядное целое число со знаком.
Возвращаетint — Значение в диапазоне от -32768 до 32767.
|
Выдает
EOFError — Недостаточно данных, доступных для чтения.
| |
IOError — В сокете возникла ошибка ввода-вывода или сокет не был открыт.
|
readUnsignedByte | () | метод |
public function readUnsignedByte():uint| Язык версии: | ActionScript 3.0 |
| Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Считывает из сокета байт без знака.
Возвращаетuint — Значение в диапазоне от 0 до 255.
|
Выдает
EOFError — Недостаточно данных, доступных для чтения.
| |
IOError — В сокете возникла ошибка ввода-вывода или сокет не был открыт.
|
readUnsignedInt | () | метод |
public function readUnsignedInt():uint| Язык версии: | ActionScript 3.0 |
| Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Считывает из сокета 32-разрядное целое число без знака.
Возвращаетuint — Значение в диапазоне от 0 до 4294967295.
|
Выдает
EOFError — Недостаточно данных, доступных для чтения.
| |
IOError — В сокете возникла ошибка ввода-вывода или сокет не был открыт.
|
readUnsignedShort | () | метод |
public function readUnsignedShort():uint| Язык версии: | ActionScript 3.0 |
| Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Считывает из сокета 16-разрядное целое число без знака.
Возвращаетuint — Значение в диапазоне от 0 до 65535.
|
Выдает
EOFError — Недостаточно данных, доступных для чтения.
| |
IOError — В сокете возникла ошибка ввода-вывода или сокет не был открыт.
|
readUTF | () | метод |
public function readUTF():String| Язык версии: | ActionScript 3.0 |
| Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Считывает из сокета строку UTF-8. Предполагается, что в строку вставляется префикс с неподписанным коротким целым числом, указывающим длину в байтах.
ВозвращаетString — Строка UTF-8.
|
Выдает
EOFError — Недостаточно данных, доступных для чтения.
| |
IOError — В сокете возникла ошибка ввода-вывода или сокет не был открыт.
|
readUTFBytes | () | метод |
public function readUTFBytes(length:uint):String| Язык версии: | ActionScript 3.0 |
| Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Считывает из сокета число байт данных UTF-8, заданное параметром length и возвращает строку.
Параметры
length:uint — Число байтов для считывания.
|
String — Строка UTF-8.
|
Выдает
EOFError — Недостаточно данных, доступных для чтения.
| |
IOError — В сокете возникла ошибка ввода-вывода или сокет не был открыт.
|
writeBoolean | () | метод |
public function writeBoolean(value:Boolean):void| Язык версии: | ActionScript 3.0 |
| Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Записывает логическое значение в сокет. Данный метод записывает один байт со значением 1 (true) или 0 (false).
Параметры
value:Boolean — Значение, записываемое в сокете: 1 (true) или 0 (false).
|
Выдает
IOError — В сокете возникла ошибка ввода-вывода или сокет не был открыт.
|
Связанные элементы API
writeByte | () | метод |
public function writeByte(value:int):void| Язык версии: | ActionScript 3.0 |
| Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Записывает байт в сокет.
Параметры
value:int — Значение, записываемое в сокет. Используются 8 младших битов значения, а 24 старших бита игнорируются.
|
Выдает
IOError — В сокете возникла ошибка ввода-вывода или сокет не был открыт.
|
Связанные элементы API
writeBytes | () | метод |
public function writeBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void| Язык версии: | ActionScript 3.0 |
| Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Записывает последовательность байт из заданного массива байт. Операция записи начинается в позиции, указанной в offset.
Если будет опущен параметр length, применение длины по умолчанию, равной 0, приведет к тому, что метод будет записывать весь буфер, начиная со смещения offset.
Если также опустить параметр offset, будет записываться весь буфер.
Параметры
bytes:ByteArray — Объект ByteArray, из которого должны записываться данные.
| |
offset:uint (default = 0) — Нулевое смещение в объекте ByteArray bytes, с которого должна начаться запись данных.
| |
length:uint (default = 0) — Число записываемых байтов. Использование значения по умолчанию, равного 0, приводит к записи всего буфера, начиная со значения, указанного параметром offset.
|
Выдает
IOError — В сокете возникла ошибка ввода-вывода или сокет не был открыт.
| |
RangeError — Если значение offset превышает длину массива ByteArray, указанную в свойстве bytes или если сумма данных, указанная для записи в свойстве offset вместе со значением length превышает доступные данные.
|
Связанные элементы API
writeDouble | () | метод |
public function writeDouble(value:Number):void| Язык версии: | ActionScript 3.0 |
| Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Записывает в сокет число IEEE 754 двойной точности с плавающей запятой.
Параметры
value:Number — Значение, записываемое в сокет.
|
Выдает
IOError — В сокете возникла ошибка ввода-вывода или сокет не был открыт.
|
Связанные элементы API
writeFloat | () | метод |
public function writeFloat(value:Number):void| Язык версии: | ActionScript 3.0 |
| Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Записывает в сокет число IEEE 754 одинарной точности с плавающей запятой.
Параметры
value:Number — Значение, записываемое в сокет.
|
Выдает
IOError — В сокете возникла ошибка ввода-вывода или сокет не был открыт.
|
Связанные элементы API
writeInt | () | метод |
public function writeInt(value:int):void| Язык версии: | ActionScript 3.0 |
| Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Записывает в сокет 32-разрядное целое число со знаком.
Параметры
value:int — Значение, записываемое в сокет.
|
Выдает
IOError — В сокете возникла ошибка ввода-вывода или сокет не был открыт.
|
Связанные элементы API
writeMultiByte | () | метод |
public function writeMultiByte(value:String, charSet:String):void| Язык версии: | ActionScript 3.0 |
| Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Записывает многобайтовую строку из потока байт с использованием заданного набора знаков.
Параметры
value:String — Записываемое значение строки.
| |
charSet:String — Строка, обозначающая набор символов, которые используются для интерпретации байтов. Возможные строки наборов символов: shift_jis, CN-GB и iso-8859-1. Полный список см. в разделе Поддерживаемые наборы символов.
|
Связанные элементы API
writeObject | () | метод |
public function writeObject(object:*):void| Язык версии: | ActionScript 3.0 |
| Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Записывает объект в сокет в сериализованном формате AMF.
Параметры
object:* — Объект для сериализации.
|
Выдает
IOError — В сокете возникла ошибка ввода-вывода или сокет не был открыт.
|
Связанные элементы API
writeShort | () | метод |
public function writeShort(value:int):void| Язык версии: | ActionScript 3.0 |
| Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Записывает в сокет 16-разрядное целое число. Записанные байты выглядят следующим образом:
(v >> 8) & 0xff v & 0xff
Используются 16 младших битов параметра, а 16 старших битов игнорируются.
Параметры
value:int — Значение, записываемое в сокет.
|
Выдает
IOError — В сокете возникла ошибка ввода-вывода или сокет не был открыт.
|
Связанные элементы API
writeUnsignedInt | () | метод |
public function writeUnsignedInt(value:uint):void| Язык версии: | ActionScript 3.0 |
| Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Записывает в сокет 32-разрядное целое число без знака.
Параметры
value:uint — Значение, записываемое в сокет.
|
Выдает
IOError — В сокете возникла ошибка ввода-вывода или сокет не был открыт.
|
Связанные элементы API
writeUTF | () | метод |
public function writeUTF(value:String):void| Язык версии: | ActionScript 3.0 |
| Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Записывает следующие данные в сокет: 16-разрядное целое число без знака, указывающее на длину заданной строки UTF-8 в байтах, а затем саму строку.
Перед тем как записать строку, метод рассчитывает количество байтов, необходимое для представления всех символов строки.
Параметры
value:String — Строка, записываемая в сокет.
|
Выдает
RangeError — Длина превышает 65535.
| |
IOError — В сокете возникла ошибка ввода-вывода или сокет не был открыт.
|
Связанные элементы API
writeUTFBytes | () | метод |
public function writeUTFBytes(value:String):void| Язык версии: | ActionScript 3.0 |
| Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Записывает строку UTF-8 в сокет.
Параметры
value:String — Строка, записываемая в сокет.
|
Выдает
IOError — В сокете возникла ошибка ввода-вывода или сокет не был открыт.
|
Связанные элементы API
close | Событие |
flash.events.Eventсвойство Event.type =
flash.events.Event.CLOSE| Язык версии: | ActionScript 3.0 |
| Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Отправляется, когда сервер закрывает подключение к сокету.
Событие close отправляется только в тот момент, когда сервер закрывает соединение. Оно не отправляется при вызове метода Socket.close().
Event.CLOSE определяет значение свойства type объекта события close.
Это событие имеет следующие свойства:
| Свойство | Значение |
|---|---|
bubbles | false |
cancelable | false; поведение по умолчанию, подлежащее отмене, не определено. |
currentTarget | Объект, активно обрабатывающий объект Event с помощью прослушивателя событий. |
target | Объект, для которого разорвано подключение. |
connect | Событие |
flash.events.Eventсвойство Event.type =
flash.events.Event.CONNECT| Язык версии: | ActionScript 3.0 |
| Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Отправляется после установления сетевого подключения.
КонстантаEvent.CONNECT определяет значение свойства type объекта события connect.
Это событие имеет следующие свойства:
| Свойство | Значение |
|---|---|
bubbles | false |
cancelable | false; поведение по умолчанию, подлежащее отмене, не определено. |
currentTarget | Объект, активно обрабатывающий объект Event с помощью прослушивателя событий. |
target | Объект Socket или XMLSocket, установивший сетевое подключение. |
ioError | Событие |
flash.events.IOErrorEventсвойство IOErrorEvent.type =
flash.events.IOErrorEvent.IO_ERROR| Язык версии: | ActionScript 3.0 |
| Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Отправляется, когда происходит ошибка ввода-вывода, приводящая к сбою операции отправки или загрузки.
Задает значение свойстваtype для объекта события ioError.
Это событие имеет следующие свойства:
| Свойство | Значение |
|---|---|
bubbles | false |
cancelable | false; поведение по умолчанию, подлежащее отмене, не определено. |
currentTarget | Объект, активно обрабатывающий объект Event с помощью прослушивателя событий. |
errorID | Ссылочный номер, связываемый с конкретной ошибкой (только AIR). |
target | Сетевой объект, с которым произошла ошибка ввода/вывода. |
text | Текст, отображаемый в качестве сообщения об ошибке. |
outputProgress | Событие |
flash.events.OutputProgressEventПередается при перемещении данных сокетом из буфера записи на уровень сетевого транспорта
securityError | Событие |
flash.events.SecurityErrorEventсвойство SecurityErrorEvent.type =
flash.events.SecurityErrorEvent.SECURITY_ERROR| Язык версии: | ActionScript 3.0 |
| Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Отправляется, если метод Socket.connect() предпринимает попытку подключиться к серверу, который запрещен изолированной средой безопасности вызывающего приложения, или к порту с номером меньше 1024, когда нет файла политики сокетов, разрешающего такое подключение.
Примечание. В приложении AIR содержимое, выполняемое внутри изолированной среды безопасности этого приложения, получает разрешение на подключение к любому серверу и порту без даже файла политики сокетов.
КонстантаSecurityErrorEvent.SECURITY_ERROR определяет значение свойства type для объекта события securityError.
Это событие имеет следующие свойства:
| Свойство | Значение |
|---|---|
bubbles | false |
cancelable | false; поведение по умолчанию, подлежащее отмене, не определено. |
currentTarget | Объект, активно обрабатывающий объект Event с помощью прослушивателя событий. |
target | Сетевой объект, сообщающий об ошибке безопасности. |
text | Текст, отображаемый в качестве сообщения об ошибке. |
Связанные элементы API
socketData | Событие |
flash.events.ProgressEventсвойство ProgressEvent.type =
flash.events.ProgressEvent.SOCKET_DATA| Язык версии: | ActionScript 3.0 |
| Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Отправляется, когда сокет получает данные.
Данные, полученные сокетом, остаются в нем, пока не будут прочитаны. Необязательно считывать все доступные данные при обработке этого события.
В событиях типа socketData не используется свойство ProgressEvent.bytesTotal.
type для объекта события socketData.
Это событие имеет следующие свойства:
| Свойство | Значение |
|---|---|
bubbles | false |
cancelable | false; поведение по умолчанию, подлежащее отмене, не определено. |
currentTarget | Объект, активно обрабатывающий событие. |
bytesLoaded | Число элементов или байтов, загруженных на момент обработки события прослушивателем. |
bytesTotal | 0; это свойство не используется объектами события socketData. |
target | Сокет, сообщающий сведения о прогрессе. |
- Конструктор создает экземпляр
CustomSocketс именемsocketи передает в качестве аргументов имя узлаlocalhostи порт 80. Так какCustomSocketрасширяет Socket, вызов методаsuper()расширяет конструктор Socket. - Затем в примере вызывается метод
configureListeners(), добавляющий прослушивателей для событий Socket. - В завершение, вызывается метод
connect()сокета с именем узлаlocalhostи номером порта 80.
Примечание. Для запуска данного примера вам потребуется сервер, запущенный в том же домене, где размещен SWF-файл (в данном примере: localhost), и прослушивающий порт 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, 11:34 AM Z
Скрыть унаследованные общедоступные свойства
Показать унаследованные общедоступные свойства