Справочник по ActionScript® 3.0 для платформы Adobe® Flash®
Домашняя страница  |  Скрыть список пакетов и классов |  Пакеты  |  Классы  |  Что нового  |  Указатель  |  Приложения  |  Почему по-английски?
Фильтры: Получение данных с сервера...
Получение данных с сервера...
flash.net 

NetConnection  - AS3

Пакетflash.net
Классpublic class NetConnection
НаследованиеNetConnection Inheritance EventDispatcher Inheritance Object

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Класс NetConnection создает двухстороннее подключение между клиентом и сервером. В качестве клиента может выступать приложение Flash Player или AIR. В качестве сервера может использоваться веб-сервер, Flash Media Server, сервер приложений со службой Flash Remoting или служба Adobe Stratus. Вызовите метод NetConnection.connect(), чтобы установить подключение. Используйте класс NetStream для отправки потоков медиасодержимого и данных через созданное подключение.

Сведения о безопасности при загрузке содержимого и данных в приложения Flash Player и AIR можно найти в следующих ресурсах.

Чтобы записать методы обратного вызова для данного класса, можно расширить класс и определить методы обратного вызова в подклассе, или назначить свойство client для объекта, а затем определить методы обратного вызова данного объекта.

Посмотреть примеры

Связанные элементы API



Общедоступные свойства
 СвойствоОпределено
  client : Object
Указывает объект, для которого вызываются методы ответного вызова.
NetConnection
  connected : Boolean
[только для чтения] Указывает, подключено приложение к серверу через постоянное подключение RTMP (true) или нет (false).
NetConnection
  connectedProxyType : String
[только для чтения] Прокси-сервер, используемый для успешного подключения к Flash Media Server.
NetConnection
 Inheritedconstructor : 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
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Регистрирует объект прослушивателя события на объекте EventDispatcher для получения прослушивателем уведомления о событии.
EventDispatcher
  
addHeader(operation:String, mustUnderstand:Boolean = false, param:Object = null):void
Добавляет заголовок контекста в структуру пакета Action Message Format (AMF).
NetConnection
  
call(command:String, responder:Responder, ... arguments):void
Вызывает команду или метод на сервере Flash Media Server или на сервере приложений, на котором запущен компонент Flash Remoting.
NetConnection
  
Закрывает открытое локальное подключение или подключение на сервере и отправляет событие netStatus со значением NetConnection.Connect.Closed для свойства code.
NetConnection
  
connect(command:String, ... arguments):void
Создает двухстороннее подключение к приложению на сервере Flash Media Server или к службе Flash Remoting, или создает двухстороннюю сетевую конечную точку для связи в пределах одноранговой группы RTMFP.
NetConnection
 Inherited
Посылает событие в поток событий.
EventDispatcher
 Inherited
Проверяет, имеет ли объект EventDispatcher прослушиватели, зарегистрированные для определенного типа события.
EventDispatcher
 Inherited
Показывает, определено ли заданное свойство для объекта.
Object
 Inherited
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра.
Object
 Inherited
Показывает наличие заданного свойства и его перечисляемость.
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Удаляет прослушиватель из объекта EventDispatcher.
EventDispatcher
 Inherited
Задает доступность динамического свойства для операций цикла.
Object
 Inherited
Возвращает строковое представление этого объекта, отформатированного в соответствии со стандартами, принятыми для данной локали.
Object
 Inherited
Возвращает строковое представление заданного объекта.
Object
 Inherited
Возвращает элементарное значение заданного объекта.
Object
 Inherited
Проверяет, зарегистрирован ли прослушиватель события для указанного типа события с данным объектом EventDispatcher или любым его предшественником.
EventDispatcher
События
 Событие Сводка Определено
 Inherited[многоадресное событие] Отправляется, когда проигрыватель Flash Player или приложение AIR перемещается в фокус операционной системы и становится активным.EventDispatcher
  Отправляется, когда исключение создается асинхронным образом — то есть в коде, изначально имеющем асинхронную природу.NetConnection
 Inherited[многоадресное событие] Отправляется, когда проигрыватель 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 значение превышено, a netStatus событие отправлено.
  • Эти свойства будут только влиять 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;
    
В системах Linux время ожидания 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: зашифрованный RTMP
  • rtmpt: RTMP с НТТР-туннелированием
  • rtmpte: зашифрованный RTMP с НТТР-туннелированием
  • "rtmps": RTMP на базе HTTPS
  • rtmfp: протокол потоковой передачи медиаданных в реальном времени (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 command — это имя функции, определенной в сценарии приложения на стороне сервера. Нет необходимости использовать путь к объекту перед command, если сценарий со стороны сервера размещен на корневом уровне каталога приложения.

 
responder:Responder — Дополнительный объект, используемый для обработки получаемых с сервера значений. Объект Responder может обработать возвращенный результат с помощью двух определенных методов: result и status. Если в качестве результата возвращается ошибка, вызывается status. В противном случае, вызывается result. Объект Responder может обрабатывать ошибки, связанные с определенными операциями, в то время как объект NetConnection реагирует на ошибки, связанные с состоянием подключения.
 
... arguments — Необязательные аргументы любого типа ActionScript, включая ссылку на другой объект ActionScript. Эти аргументы передаются методу, указанному в параметре command, в момент выполнения метода на удаленном сервере приложений.


События
securityError:SecurityErrorEvent — Вызов предпринял попытку обращения к серверу за пределами изолированной программной среды вызывающего объекта. Чтобы избежать этой проблемы, используйте на сервере файл политик.

Связанные элементы 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.
  • Для воспроизведения видео или файлов MP3 из локальной системы или с веб-сервера задайте параметру значение null.
  • Чтобы подключиться к серверу приложений со службой Flash Remoting, передайте URL-адрес с префиксом http.
  • (Flash Player 10.1 или AIR 2 и более поздних версий) Чтобы создать бессерверную сетевую конечную точку для связи RTMFP с групповой адресацией IP, передайте строку "rtmfp:". Используйте этот тип подключения, чтобы получить поток групповой адресации IP от издателя, не используя сервер. Этот тип подключения также подходит для использования групповой адресации IP с целью обнаружения одноранговых узлов в той же локальной сети (ЛВС).
  • У этого типа подключения есть следующие ограничения.

    Обнаруживать друг друга могут только одноранговые узлы из одной локальной сети.

    С помощью групповой адресации IP приложение Flash Player может получать потоки, но не может отправлять их.

    Приложения Flash Player и AIR могут отправлять и получать потоки в одноранговой группе, но обнаружение одноранговых узлов в той же локальной сети должно осуществляться с использованием групповой адресации IP.

    Данный прием нельзя использовать для связи между двумя узлами.

  • Чтобы подключиться к Flash Media Server, передайте URI приложения на сервере. Используйте следующий синтаксис (элементы в квадратных скобках не являются обязательными):

    protocol:[//host][:port]/appname[/instanceName]

    Используйте один из следующих протоколов: rtmp, rtmpe, rtmps, rtmpt, rtmpte или rtmfp. При успешном подключении возвращается событие netStatus, в котором свойство code имеет значение NetConnection.Connect.Success. Список всех кодов событий, возвращаемых в ответ на вызов connect(), см. в свойстве NetStatusEvent.info.

    Если файл обслуживается с того же узла, на котором установлен сервер, параметр //host можно опустить. Если опустить параметр /instanceName, проигрыватель Flash Player или AIR подключится к используемому по умолчанию экземпляру приложения.

    (Flash Player 10.1 или AIR 2 и более поздних версий) Для создания одноранговых приложений следует использовать протокол rtmfp.

 
... 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.

Это событие имеет следующие свойства:

СвойствоЗначение
bubblesfalse
cancelablefalse; поведение по умолчанию, подлежащее отмене, не определено.
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.

Это событие имеет следующие свойства:

СвойствоЗначение
bubblesfalse
cancelablefalse; поведение по умолчанию, подлежащее отмене, не определено.
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.

Это событие имеет следующие свойства:

СвойствоЗначение
bubblesfalse
cancelablefalse; поведение по умолчанию, подлежащее отмене, не определено.
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.

Это событие имеет следующие свойства:

СвойствоЗначение
bubblesfalse
cancelablefalse; поведение по умолчанию, подлежащее отмене, не определено.
currentTargetОбъект, активно обрабатывающий объект Event с помощью прослушивателя событий.
targetСетевой объект, сообщающий об ошибке безопасности.
textТекст, отображаемый в качестве сообщения об ошибке.

Связанные элементы API

NetConnectionExample.as

В следующем примере объект Video с классами NetConnection и NetStream используется для загрузки и воспроизведения FLV-файла.

В данном примере код, создающий объекты 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);
    }
}




[ X ]Почему по-английски?
Содержимое Справочника ActionScript 3.0 отображается на английском языке

Не все части Справочника ActionScript 3.0 переводятся на все языки. Если какой-то текстовый элемент не переведен, он отображается на английском языке. Например, компонент ga.controls.HelpBox не переведен ни на один из языков. Это значит, что в русской версии справки компонент ga.controls.HelpBox будет отображаться на английском языке.