Пакет | flash.net |
Класс | public class NetConnection |
Наследование | NetConnection EventDispatcher Object |
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
NetConnection.connect()
, чтобы установить подключение. Используйте класс NetStream для отправки потоков медиасодержимого и данных через созданное подключение.
Сведения о безопасности при загрузке содержимого и данных в приложения Flash Player и AIR можно найти в следующих ресурсах.
- Чтобы загрузить содержимое и данные в приложение Flash Player с веб-сервера или из локального каталога, см. документ Центр разработчиков Flash Player: безопасность.
- Чтобы загрузить содержимое и данные в приложение Flash Player и AIR с сервера Flash Media Server, см. документацию по Flash Media Server.
- Чтобы загрузить содержимое и данные в приложение AIR, см. материал в центре разработчиков Adobe AIR Developer Center.
Чтобы записать методы обратного вызова для данного класса, можно расширить класс и определить методы обратного вызова в подклассе, или назначить свойство client
для объекта, а затем определить методы обратного вызова данного объекта.
Связанные элементы API
Свойство | Определено | ||
---|---|---|---|
client : Object
Указывает объект, для которого вызываются методы ответного вызова. | NetConnection | ||
connected : Boolean [только для чтения]
Указывает, подключено приложение к серверу через постоянное подключение RTMP (true) или нет (false). | NetConnection | ||
connectedProxyType : String [только для чтения]
Прокси-сервер, используемый для успешного подключения к Flash Media Server. | NetConnection | ||
constructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта. | Object | ||
defaultObjectEncoding : uint [статические]
Кодировка объекта, используемая по умолчанию для объектов NetConnection. | NetConnection | ||
farID : String [только для чтения]
Идентификатор экземпляра Flash Media Server, к которому подключен данных экземпляр Flash Player или Adobe AIR. | NetConnection | ||
farNonce : String [только для чтения]
Значение, выбираемое преимущественно этим сервером Flash Media Server (уникально для данного подключения). | NetConnection | ||
httpIdleTimeout : Number
Время, в миллисекундах, чтобы ждать ответа HTTP. | NetConnection | ||
maxPeerConnections : uint
Общее количество входящих и исходящих одноранговых подключений, разрешенное данным экземпляром Flash Player или Adobe AIR. | NetConnection | ||
nearID : String [только для чтения]
Идентификатор данного экземпляра Flash Player или Adobe AIR для данного экземпляра NetConnection. | NetConnection | ||
nearNonce : String [только для чтения]
Значение, выбираемое преимущественно этим экземпляром Flash Player или Adobe AIR (уникально для данного подключения). | NetConnection | ||
objectEncoding : uint
Кодировка объекта для данного экземпляра NetConnection. | NetConnection | ||
protocol : String [только для чтения]
Протокол, используемый для установки подключения. | NetConnection | ||
proxyType : String
Определяет, какие резервные методы подключения используются в случае сбоя при первоначальной попытке подключения к серверу Flash Media Server. | NetConnection | ||
unconnectedPeerStreams : Array [только для чтения]
Объект, содержащий все объекты NetStream одноранговых подписчиков, не связанные с публикующими объектами NetStream. | NetConnection | ||
uri : String [только для чтения]
URI-адрес, передаваемый методу NetConnection.connect(). | NetConnection | ||
usingTLS : Boolean [только для чтения]
Определяет, создавалось ли защищенное подключение с применением собственного протокола Transport Layer Security (TLS) вместо HTTPS. | NetConnection |
Метод | Определено | ||
---|---|---|---|
Создает объект NetConnection. | NetConnection | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Регистрирует объект прослушивателя события на объекте EventDispatcher для получения прослушивателем уведомления о событии. | EventDispatcher | ||
Добавляет заголовок контекста в структуру пакета Action Message Format (AMF). | NetConnection | ||
Вызывает команду или метод на сервере Flash Media Server или на сервере приложений, на котором запущен компонент Flash Remoting. | NetConnection | ||
Закрывает открытое локальное подключение или подключение на сервере и отправляет событие netStatus со значением NetConnection.Connect.Closed для свойства code. | NetConnection | ||
Создает двухстороннее подключение к приложению на сервере Flash Media Server или к службе Flash Remoting, или создает двухстороннюю сетевую конечную точку для связи в пределах одноранговой группы RTMFP. | NetConnection | ||
Посылает событие в поток событий. | EventDispatcher | ||
Проверяет, имеет ли объект EventDispatcher прослушиватели, зарегистрированные для определенного типа события. | EventDispatcher | ||
Показывает, определено ли заданное свойство для объекта. | Object | ||
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра. | Object | ||
Показывает наличие заданного свойства и его перечисляемость. | Object | ||
Удаляет прослушиватель из объекта EventDispatcher. | EventDispatcher | ||
Задает доступность динамического свойства для операций цикла. | Object | ||
Возвращает строковое представление этого объекта, отформатированного в соответствии со стандартами, принятыми для данной локали. | Object | ||
Возвращает строковое представление заданного объекта. | Object | ||
Возвращает элементарное значение заданного объекта. | Object | ||
Проверяет, зарегистрирован ли прослушиватель события для указанного типа события с данным объектом EventDispatcher или любым его предшественником. | EventDispatcher |
Событие | Сводка | Определено | ||
---|---|---|---|---|
[многоадресное событие] Отправляется, когда проигрыватель Flash Player или приложение AIR перемещается в фокус операционной системы и становится активным. | EventDispatcher | |||
Отправляется, когда исключение создается асинхронным образом — то есть в коде, изначально имеющем асинхронную природу. | NetConnection | |||
[многоадресное событие] Отправляется, когда проигрыватель Flash Player или приложение AIR теряет фокус системы и становится неактивным. | EventDispatcher | |||
Отправляется, когда происходит ошибка ввода-вывода, приводящая к сбою сетевой операции. | NetConnection | |||
Отправляется, когда объект NetConnection сообщает о своем состоянии или о случившейся ошибке. | NetConnection | |||
Отправляется, если путем вызова метода NetConnection.call() предпринимается попытка подключения к серверу, расположенному за пределами изолированной среды вызывающего объекта. | NetConnection |
client | свойство |
client:Object
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Указывает объект, для которого вызываются методы ответного вызова. По умолчанию используется данный экземпляр NetConnection. Если в свойстве client
указать другой объект, методы обратного вызова будут вызываться на этом другом объекте.
Реализация
public function get client():Object
public function set client(value:Object):void
Выдает
TypeError — В качестве свойства client должен быть указан объект, имеющий значение, отличное от null.
|
connected | свойство |
connected:Boolean
[только для чтения] Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Указывает, подключено приложение к серверу через постоянное подключение RTMP (true
) или нет (false
). При подключении по протоколу HTTP данное свойство имеет значение false
, за исключением случаев подключения к службам Flash Remoting на сервере приложений (значение true
).
Реализация
public function get connected():Boolean
connectedProxyType | свойство |
connectedProxyType:String
[только для чтения] Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Прокси-сервер, используемый для успешного подключения к Flash Media Server. Возможные значения: "none"
, "HTTP"
, "HTTPS"
или "CONNECT"
.
Значение "none"
задается, если подключение выполняется без туннелирования или если используется собственное подключение через SSL.
Значение "HTTP"
задается, если подключение туннелируется через HTTP.
Значение "HTTPS"
задается, если подключение туннелируется через HTTPS.
Значение "CONNECT"
задается, если подключение туннелируется с использованием метода CONNECT через прокси-сервер.
Реализация
public function get connectedProxyType():String
Выдает
ArgumentError — Зарегистрирована попытка обращения к данному свойству, когда экземпляр NetConnection не был подключен.
|
defaultObjectEncoding | свойство |
defaultObjectEncoding:uint
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Кодировка объекта, используемая по умолчанию для объектов NetConnection. Когда объект записывается или считывается из двоичных данных, свойство defaultObjectEncoding
указывает используемую для сериализации версию формата AMF: формат ActionScript 3.0 (ObjectEncoding.AMF3
) или формат ActionScript 1.0 и ActionScript 2.0 (ObjectEncoding.AMF0
).
Значение по умолчанию: ObjectEncoding.AMF3
. Изменение NetConnection.defaultObjectEncoding
не влияет на существующие экземпляры NetConnection, а влияет только на экземпляры, которые будут созданы позднее.
Чтобы установить кодировку для отдельного объекта (не для всего приложения), задайте свойство objectEncoding
соответствующего объекта NetConnection.
Дополнительные сведения см. в описании свойства objectEncoding
.
Реализация
public static function get defaultObjectEncoding():uint
public static function set defaultObjectEncoding(value:uint):void
Связанные элементы API
farID | свойство |
farID:String
[только для чтения] Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5 |
Идентификатор экземпляра Flash Media Server, к которому подключен данных экземпляр Flash Player или Adobe AIR. Это свойство имеет значение только для подключений RTMFP. Значение этого свойства доступно только после установки подключения RTMFP.
Реализация
public function get farID():String
Связанные элементы API
farNonce | свойство |
farNonce:String
[только для чтения] Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5 |
Значение, выбираемое преимущественно этим сервером Flash Media Server (уникально для данного подключения). Это значение представляется серверу в качестве его значения client.nearNonce
. Это свойство определяется только для подключений RTMFP, RTMPE и RTMPTE.
Реализация
public function get farNonce():String
httpIdleTimeout | свойство |
httpIdleTimeout:Number
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 2.6 |
Время ожидания ответа HTTP в миллисекундах. По умолчанию установлено значение 0.
-
httpIdleTimeout
значение - aЧисло
. - При использовании HTTP-подключения положительное значение обозначает число миллисекунд, неактивное подключение должно остаться открытым.
- Нулевое значение обозначает, что стандартное сетевое значение перерыва ожидания для платформы должно использоваться.
- Отрицательная величина приведет к ошибке
RangeError
. - Если
httpIdleTimeout
значение превышено, anetStatus
событие отправлено. - Эти свойства будут только влиять
NetConnection
объекты созданы с HTTP-подключениями.NetConnection
объекты, созданные с RTMP, RTMFP, или другими каналами 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
может быть на несколько секунд больше, чем задано значением httpIdleTimeout
.
Реализация
public function get httpIdleTimeout():Number
public function set httpIdleTimeout(value:Number):void
maxPeerConnections | свойство |
maxPeerConnections:uint
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5 |
Общее количество входящих и исходящих одноранговых подключений, разрешенное данным экземпляром Flash Player или Adobe AIR. Значением по умолчанию является 8.
Это значение не различает подключения издателей и подписчиков. Если это значение уменьшить в момент, когда уже существуют одноранговые подключения, новое значение затрагивает только новые входящие подключения. Существующие подключения не прерываются.
Реализация
public function get maxPeerConnections():uint
public function set maxPeerConnections(value:uint):void
nearID | свойство |
nearID:String
[только для чтения] Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5 |
Идентификатор данного экземпляра Flash Player или Adobe AIR для данного экземпляра NetConnection. Это свойство имеет значение только для подключений RTMFP.
Каждый экземпляр NetConnection имеет уникальное свойство nearID
. Все экземпляры Flash Player, Adobe AIR и NetConnection имеют разные идентификаторы.
Другие экземпляры Flash Player или Adobe AIR используют этот идентификатор в качестве peerID
для новых подключений NetStream к этому клиенту. Впоследствии этот идентификатор становится farID
в одноранговых NetStream, подключающихся к данному экземпляру.
Реализация
public function get nearID():String
Связанные элементы API
nearNonce | свойство |
nearNonce:String
[только для чтения] Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5 |
Значение, выбираемое преимущественно этим экземпляром Flash Player или Adobe AIR (уникально для данного подключения). Это значение представляется серверу в качестве его значения client.farNonce
. Это свойство определяется только для подключений RTMFP, RTMPE и RTMPTE.
Реализация
public function get nearNonce():String
objectEncoding | свойство |
objectEncoding:uint
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Кодировка объекта для данного экземпляра NetConnection.
Когда объект записывается или считывается из двоичных данных, свойство defaultObjectEncoding
указывает используемую для сериализации версию формата AMF: формат ActionScript 3.0 (ObjectEncoding.AMF3
) или формат ActionScript 1.0 и ActionScript 2.0 (ObjectEncoding.AMF0
). Чтобы установить версию AMF для экземпляра NetConnection, укажите значение для свойства objectEncoding
.
Необходимо хорошо понимать назначение этого свойства, если приложению требуется обмен данными с серверами, выпущенными до выхода Flash Player версии 9. Возможны три следующих сценария действий:
- Подключение к серверу, поддерживающему AMF3 (например, Flex Data Services 2 или Flash Media Server 3). Значение
defaultObjectEncoding
по умолчанию:ObjectEncoding.AMF3
. Ко всем экземплярам NetConnection, созданным в данном файле, применяется сериализация формата AMF3, поэтому свойствоobjectEncoding
задавать не требуется. - Подключение к серверу, который не поддерживает AMF3 (например, Flash Media Server 2). В этом случае необходимо установить для статического свойства
NetConnection.defaultObjectEncoding
значениеObjectEncoding.AMF0
. Все экземпляры NetConnection, созданные в данном SWF-файле, используют сериализацию AMF0. Нет необходимости устанавливать значение свойстваobjectEncoding
. - Подключение к нескольким серверам, на которых используются разные версии кодировки. Вместо того чтобы использовать
defaultObjectEncoding
, установите кодировку объекта для каждого подключения с помощью свойстваobjectEncoding
. Установите значениеObjectEncoding.AMF0
, чтобы подключаться к серверам, использующим кодировку AMF0 (например, Flash Media Server 2). Аналогично, установите значениеObjectEncoding.AMF3
для подключения к серверам, которые используют кодировку AMF3 (например, Flex Data Services 2).
Как только происходит подключение экземпляра NetConnection, его свойство objectEncoding
становится доступным только для чтения.
Если при подключении к серверу используется неправильная кодировка, объект NetConnection отправляет событие netStatus
. Свойство NetStatusEvent.info
содержит информационный объект, в котором свойство code
имеет значение NetConnection.Connect.Failed
, и описание, объясняющее, что выбрана неправильная кодировка.
Реализация
public function get objectEncoding():uint
public function set objectEncoding(value:uint):void
Выдает
ReferenceError — Была произведена попытка установить значение свойства objectEncoding в тот момент, когда экземпляр NetConnection был подключен.
| |
ArgumentError — Данное свойство имело значение, отличное от ObjectEncoding.AMF0 или ObjectEncoding.AMF3 .
|
Связанные элементы API
protocol | свойство |
protocol:String
[только для чтения] Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5 |
Протокол, используемый для установки подключения. Это свойство релевантно при использовании Flash Media Server. Возможны следующие значения:
rtmp
: протокол передачи сообщений в реальном времени (RTMP)rtmpe
: зашифрованный RTMPrtmpt
: RTMP с НТТР-туннелированиемrtmpte
: зашифрованный RTMP с НТТР-туннелированием"rtmps"
: RTMP на базе HTTPSrtmfp
: протокол потоковой передачи медиаданных в реальном времени (RTMFP)
Реализация
public function get protocol():String
Выдает
ArgumentError — Зарегистрирована попытка обращения к данному свойству, когда экземпляр NetConnection не был подключен.
|
proxyType | свойство |
proxyType:String
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Определяет, какие резервные методы подключения используются в случае сбоя при первоначальной попытке подключения к серверу Flash Media Server. Свойство proxyType
необходимо задать до того, как будет вызываться метод NetConnection.connect()
.
Допустимыми являются значения "none"
, "HTTP"
, "CONNECTOnly"
, "CONNECT"
и "best"
. По умолчанию используется значение "none"
.
Чтобы использовать собственное подключение через SSL, задайте свойству значение "best"
. Если проигрывателю не удается установить прямое подключение к серверу (через стандартный порт 443 или другой указанный порт) и развернут прокси-сервер, проигрыватель пытается использовать метод CONNECT. Если эта попытка не дает результатов, то выполняется туннелирование через HTTPS.
Если свойство имеет значение "CONNECTOnly"
, проигрыватель вначале пытается использовать метод CONNECT
. Если использовать метод не удалось, резервного варианта не предусмотрено.
Если свойство имеет значение HTTP
и прямое подключение выполняется с ошибкой, используется туннелирование по протоколу HTTP. Если свойство имеет значение CONNECT
и прямое подключение выполняется с ошибкой, используется метод туннелирования CONNECT
. Если и эта попытка не удастся, для подключения не используется туннелирование через HTTP.
Это свойство применяется только при использовании RTMP, RTMPS или RTMPT. Методы CONNECT
и CONNECTOnly
подходят только для тех пользователей, которые подключены к сети через прокси-сервер.
Реализация
public function get proxyType():String
public function set proxyType(value:String):void
unconnectedPeerStreams | свойство |
unconnectedPeerStreams:Array
[только для чтения] Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5 |
Объект, содержащий все объекты NetStream одноранговых подписчиков, не связанные с публикующими объектами NetStream. Объекты-подписчики NetStream, связанные с публикующими объектами NetStream, перечислены в массиве NetStream.peerStreams
.
Реализация
public function get unconnectedPeerStreams():Array
Связанные элементы API
uri | свойство |
uri:String
[только для чтения] Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
URI-адрес, передаваемый методу NetConnection.connect(). Если метод NetConnection.connect()
не был вызван или не был передан какой-либо URI-адрес, данное свойство имеет значение undefined
.
Реализация
public function get uri():String
usingTLS | свойство |
usingTLS:Boolean
[только для чтения] Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Определяет, создавалось ли защищенное подключение с применением собственного протокола Transport Layer Security (TLS) вместо HTTPS. Это свойство действительно только тогда, когда подключен объект NetConnection.
Реализация
public function get usingTLS():Boolean
Выдает
ArgumentError — Зарегистрирована попытка обращения к данному свойству, когда экземпляр NetConnection не был подключен.
|
NetConnection | () | Конструктор |
public function NetConnection()
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Создает объект NetConnection. Чтобы установить подключение, вызовите метод connect()
.
Если приложению требуется связь с серверами, выпущенными до выхода Flash Player 9, необходимо задать свойство objectEncoding
объекта NetConnection.
Следующий код создает объект NetConnection.
var nc:NetConnection = new NetConnection();
Связанные элементы API
addHeader | () | метод |
public function addHeader(operation:String, mustUnderstand:Boolean = false, param:Object = null):void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Добавляет заголовок контекста в структуру пакета Action Message Format (AMF). Этот заголовок отправляется с каждым последующим пакетом AMF. При вызове NetConnection.addHeader()
с использованием того же самого имени новый заголовок заменяет существующий заголовок, при этом новый заголовок остается на всем протяжении существования объекта NetConnection. Для удаления заголовка, вызовите NetConnection.addHeader()
с указанием имени заголовка для удаления объекта со значением undefined.
Параметры
operation:String — Определяет заголовок и связанные с ним данные объекта ActionScript.
| |
mustUnderstand:Boolean (default = false ) — Значение true указывает на то, что сервер должен принять и обработать данный заголовок, прежде чем он будет обрабатывать любой из следующих заголовков или сообщений.
| |
param:Object (default = null ) — Любой объект ActionScript.
|
call | () | метод |
public function call(command:String, responder:Responder, ... arguments):void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Вызывает команду или метод на сервере Flash Media Server или на сервере приложений, на котором запущен компонент Flash Remoting. Перед тем как вызвать NetConnection.call()
, необходимо подключиться к серверу путем вызова метода NetConnection.connect()
. Для передачи данному методу необходимо создать функцию на стороне сервера.
Нельзя подключаться к общепринятым зарезервированным портам. Полный список заблокированных портов см. в разделе «Ограничение API-интерфейсов сетевого подключения» в руководстве ActionScript 3.0 Developer's Guide (руководстве разработчика по ActionScript 3.0).
Параметры
command:String — Метод, указанный в формате [objectPath/]method . Например, при выполнении команды someObject/doSomething удаленный сервер вызывает метод clientObject.someObject.doSomething() со всеми необязательными параметрами ... arguments . При отсутствии пути к объекту на удаленном сервере вызывается clientObject.doSomething() .
При работе с Flash Media Server | |
responder:Responder — Дополнительный объект, используемый для обработки получаемых с сервера значений. Объект Responder может обработать возвращенный результат с помощью двух определенных методов: result и status . Если в качестве результата возвращается ошибка, вызывается status . В противном случае, вызывается result . Объект Responder может обрабатывать ошибки, связанные с определенными операциями, в то время как объект NetConnection реагирует на ошибки, связанные с состоянием подключения.
| |
... arguments — Необязательные аргументы любого типа ActionScript, включая ссылку на другой объект ActionScript. Эти аргументы передаются методу, указанному в параметре command , в момент выполнения метода на удаленном сервере приложений.
|
События
securityError: — Вызов предпринял попытку обращения к серверу за пределами изолированной программной среды вызывающего объекта. Чтобы избежать этой проблемы, используйте на сервере файл политик.
|
Связанные элементы API
close | () | метод |
public function close():void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Закрывает открытое локальное подключение или подключение на сервере и отправляет событие netStatus
со значением NetConnection.Connect.Closed
для свойства code
.
Данный метод отсоединяет все объекты NetStream, функционирующие через это подключение. Любые неотправленные данные, помещенные в очередь, игнорируются. (Чтобы завершить локальные или серверные потоки, не закрывая при этом подключения, используйте NetStream.close()
.) Если после закрытия подключения требуется создать новое подключение, следует сначала создать новый объект NetConnection, а затем снова вызвать метод connect()
.
Метод close()
также отсоединяет все удаленные общие объекты, функционирующие через это подключение. Тем не менее, для повторного подключения не требуется вновь создавать общий объект. Вместо этого следует просто вызвать метод SharedObject.connect()
, чтобы восстановить подключение к общему объекту. Кроме того, любые данные в общем объекте, которые были поставлены в очередь при вызове NetConnection.close()
, отправляются после того, как будет восстановлено подключение к общему объекту.
При работе с сервером Flash Media Server наиболее оптимальным вариантом является вызов close()
в тот момент, когда клиенту больше не требуется подключение к серверу. Вызов close()
является самым быстрым способом очистки неиспользуемых подключений. Можно настроить сервер на автоматическое закрытие неиспользуемых подключений. Дополнительные сведения см. в Руководстве по настройке и администрированию Flash Media Server.
Связанные элементы API
connect | () | метод |
public function connect(command:String, ... arguments):void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Создает двухстороннее подключение к приложению на сервере Flash Media Server или к службе Flash Remoting, или создает двухстороннюю сетевую конечную точку для связи в пределах одноранговой группы RTMFP. Чтобы сообщить о его состоянии или ошибке, вызов метода NetConnection.connect()
отправляет событие netStatus
.
Метод NetConnection.connect()
позволяет выполнить следующие действия.
- Передайте значение null, чтобы воспроизвести видеосодержимое и файлы MP3 из локальной файловой системы или с веб-сервера.
- Передайте URL для http, чтобы подключиться к серверу приложений со службой Flash Remoting. Используйте класс NetServices для вызова функций и получения результатов от серверов приложений посредством объекта NetConnection. Дополнительные сведения см. в документации по Flash Remoting.
- Передайте URL-адрес для rtmp/e/s, чтобы подключиться к приложению на сервере Flash Media Server.
- Передайте в URL-адрес для rtmfp, чтобы создать двухстороннюю сетевую конечную точку между для связи RTMFP между клиентом и сервером, между одноранговыми узлами или для групповой адресации IP.
- Передайте строку «rtmfp:», чтобы создать бессерверную двухстороннюю сетевую конечную точку для связи RTMFP с групповой адресацией IP.
Рассмотрим следующую модель безопасности.
- По умолчанию проигрыватель Flash Player или AIR блокирует взаимодействие (доступ) между изолированными программными средами. Web-сайт может обеспечить доступ к ресурсу с помощью файла политики для URL.
- Ваше приложение может запретить доступ к какому-либо ресурсу на сервере. В приложении на сервере Flash Media Server, используйте серверный код ActionScript, чтобы запретить доступ. Сведения см. в документации по Flash Media Server.
- Метод
NetConnection.connect()
нельзя использовать, если вызывающий файл размещен в локальной для файловой системы изолированной программной среде. - Нельзя подключаться к общепринятым зарезервированным портам. Полный список заблокированных портов см. в разделе «Ограничение API-интерфейсов сетевого подключения» в руководстве ActionScript 3.0 Developer's Guide (руководстве разработчика по ActionScript 3.0).
- Чтобы запретить использование этого метода SWF-файлом, установите параметр
allowNetworking
для теговobject
иembed
на странице HTML, содержащей SWF-содержимое.
Однако в Adobe AIR эти ограничения по безопасности не распространяются на содержимое в изолированной программной среде безопасности application
(содержимое, установленное с приложением AIR).
Дополнительные сведения о безопасности см. в разделе центра разработчиков Adobe Flash Player Безопасность.
Параметры
command:String — Используйте одно из следующих значений для параметра command .
У этого типа подключения есть следующие ограничения. Обнаруживать друг друга могут только одноранговые узлы из одной локальной сети. С помощью групповой адресации IP приложение Flash Player может получать потоки, но не может отправлять их. Приложения Flash Player и AIR могут отправлять и получать потоки в одноранговой группе, но обнаружение одноранговых узлов в той же локальной сети должно осуществляться с использованием групповой адресации IP. Данный прием нельзя использовать для связи между двумя узлами. | |
... arguments — Необязательные параметры любого типа передаются приложению, указанному в параметре command . При работе с Flash Media Server дополнительные аргументы передаются обработчику событий application.onConnect() в коде приложения на стороне сервера. Необходимо определить и обработать аргументы в onConnect() .
|
Выдает
ArgumentError — URI-адрес, переданный параметру command , сформатирован неправильно.
| |
IOError — Сбой подключения. Это может произойти, если метод connect() вызывается из обработчика событий netStatus , что является недопустимой операцией.
| |
SecurityError — Локальные для файловой системы SWF-файлы изолированы от Интернета. Этой проблемы можно избежать, если переклассифицировать данный SWF-файл как локальный с сетевым подключением или доверенный.
| |
SecurityError — Нельзя подключаться к общепринятым зарезервированным портам. Полный список заблокированных портов см. в разделе «Ограничение API-интерфейсов сетевого подключения» в руководстве ActionScript 3.0 Developer's Guide (руководстве разработчика по ActionScript 3.0).
|
Связанные элементы API
asyncError | Событие |
flash.events.AsyncErrorEvent
свойство AsyncErrorEvent.type =
flash.events.AsyncErrorEvent.ASYNC_ERROR
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Отправляется, когда исключение создается асинхронным образом, то есть в коде, изначально имеющем асинхронную природу.
КонстантаAsyncErrorEvent.ASYNC_ERROR
определяет значение свойства type
объекта события asyncError
.
Это событие имеет следующие свойства:
Свойство | Значение |
---|---|
bubbles | false |
cancelable | false ; поведение по умолчанию, подлежащее отмене, не определено. |
currentTarget | Объект, активно обрабатывающий объект Event с помощью прослушивателя событий. |
target | Объект, отправляющий событие. |
error | Ошибка, запускаемая событием. |
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 | Текст, отображаемый в качестве сообщения об ошибке. |
netStatus | Событие |
flash.events.NetStatusEvent
свойство NetStatusEvent.type =
flash.events.NetStatusEvent.NET_STATUS
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Отправляется, когда объект NetConnection сообщает о своем состоянии или о случившейся ошибке. Событие netStatus
содержит свойство info
, представляющее собой информационный объект, который содержит определенные сведения о событии (например, количество успешных и неудачных попыток подключения).
type
для объекта события netStatus
.
Это событие имеет следующие свойства:
Свойство | Значение |
---|---|
bubbles | false |
cancelable | false ; поведение по умолчанию, подлежащее отмене, не определено. |
currentTarget | Объект, активно обрабатывающий объект Event с помощью прослушивателя событий. |
info | Объект со свойствами, описывающими состояние объекта или условие ошибки. |
target | Объект NetConnection или NetStream, сообщающий свое состояние. |
Связанные элементы API
securityError | Событие |
flash.events.SecurityErrorEvent
свойство SecurityErrorEvent.type =
flash.events.SecurityErrorEvent.SECURITY_ERROR
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Отправляется, если путем вызова метода NetConnection.call() предпринимается попытка подключения к серверу, расположенному за пределами изолированной среды вызывающего объекта.
КонстантаSecurityErrorEvent.SECURITY_ERROR
определяет значение свойства type
для объекта события securityError
.
Это событие имеет следующие свойства:
Свойство | Значение |
---|---|
bubbles | false |
cancelable | false ; поведение по умолчанию, подлежащее отмене, не определено. |
currentTarget | Объект, активно обрабатывающий объект Event с помощью прослушивателя событий. |
target | Сетевой объект, сообщающий об ошибке безопасности. |
text | Текст, отображаемый в качестве сообщения об ошибке. |
Связанные элементы API
В данном примере код, создающий объекты Video и NetStream, а также вызывающий методы Video.attachNetStream()
и NetStream.play()
, размещен в функции обработчика. Обработчик вызывается только при успешном подключении к объекту NetConnection (другими словами, когда событие netStatus
возвращает объект info
со свойством code
, что свидетельствует об успешном выполнении задачи). Рекомендуется перед вызовом 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, 11:34 AM Z