ActionScript® 3.0 Reference for the Adobe® Flash® Platform
Home  |  Show Packages and Classes List |  Packages  |  Classes  |  What's New  |  Index  |  Appendixes
flash.events 

NetStatusEvent  - AS3

Packageflash.events
Classpublic class NetStatusEvent
InheritanceNetStatusEvent Inheritance Event Inheritance Object

Language Version: ActionScript 3.0
Runtime Versions: AIR 1.0, Flash Player 9, Flash Lite 4

A NetConnection, NetStream, or SharedObject object dispatches NetStatusEvent objects when a it reports its status. There is only one type of status event: NetStatusEvent.NET_STATUS.

View the examples

Related API Elements



Public Properties
 PropertyDefined By
 Inheritedbubbles : Boolean
[read-only] Indicates whether an event is a bubbling event.
Event
 Inheritedcancelable : Boolean
[read-only] Indicates whether the behavior associated with the event can be prevented.
Event
 Inheritedconstructor : Object
A reference to the class object or constructor function for a given object instance.
Object
 InheritedcurrentTarget : Object
[read-only] The object that is actively processing the Event object with an event listener.
Event
 InheritedeventPhase : uint
[read-only] The current phase in the event flow.
Event
  info : Object
An object with properties that describe the object's status or error condition.
NetStatusEvent
 Inheritedtarget : Object
[read-only] The event target.
Event
 Inheritedtype : String
[read-only] The type of event.
Event
Public Methods
 MethodDefined By
  
NetStatusEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, info:Object = null)
Creates an Event object that contains information about netStatus events.
NetStatusEvent
  
[override] Creates a copy of the NetStatusEvent object and sets the value of each property to match that of the original.
NetStatusEvent
 Inherited
formatToString(className:String, ... arguments):String
A utility function for implementing the toString() method in custom ActionScript 3.0 Event classes.
Event
 Inherited
Indicates whether an object has a specified property defined.
Object
 Inherited
Checks whether the preventDefault() method has been called on the event.
Event
 Inherited
Indicates whether an instance of the Object class is in the prototype chain of the object specified as the parameter.
Object
 Inherited
Cancels an event's default behavior if that behavior can be canceled.
Event
 Inherited
Indicates whether the specified property exists and is enumerable.
Object
 Inherited
Sets the availability of a dynamic property for loop operations.
Object
 Inherited
Prevents processing of any event listeners in the current node and any subsequent nodes in the event flow.
Event
 Inherited
Prevents processing of any event listeners in nodes subsequent to the current node in the event flow.
Event
 Inherited
Returns the string representation of this object, formatted according to locale-specific conventions.
Object
  
[override] Returns a string that contains all the properties of the NetStatusEvent object.
NetStatusEvent
 Inherited
Returns the primitive value of the specified object.
Object
Public Constants
 ConstantDefined By
  NET_STATUS : String = "netStatus"
[static] Defines the value of the type property of a netStatus event object.
NetStatusEvent
Property Detail

info

property
info:Object

Language Version: ActionScript 3.0
Runtime Versions: AIR 1.0, Flash Player 9, Flash Lite 4

An object with properties that describe the object's status or error condition.

The information object could have a code property containing a string that represents a specific event or a level property containing a string that is either "status" or "error".

The information object could also be something different. The code and level properties might not work for some implementations and some servers might send different objects.

P2P connections send messages to a NetConnection with a stream parameter in the information object that indicates which NetStream the message pertains to.

For example, Flex Data Services sends Message objects that cause coercion errors if you try to access the code or level property.

The following table describes the possible string values of the code and level properties.

Code propertyLevel propertyMeaning
"NetConnection.Call.BadVersion""error"Packet encoded in an unidentified format.
"NetConnection.Call.Failed""error"The NetConnection.call() method was not able to invoke the server-side method or command.
"NetConnection.Call.Prohibited""error"An Action Message Format (AMF) operation is prevented for security reasons. Either the AMF URL is not in the same domain as the file containing the code calling the NetConnection.call() method, or the AMF server does not have a policy file that trusts the domain of the the file containing the code calling the NetConnection.call() method.
"NetConnection.Connect.AppShutdown""error"The server-side application is shutting down.
"NetConnection.Connect.Closed""status"The connection was closed successfully.
"NetConnection.Connect.Failed""error"The connection attempt failed.
"NetConnection.Connect.IdleTimeout""status"Flash Media Server disconnected the client because the client was idle longer than the configured value for <MaxIdleTime>. On Flash Media Server, <AutoCloseIdleClients> is disabled by default. When enabled, the default timeout value is 3600 seconds (1 hour). For more information, see Close idle connections.
"NetConnection.Connect.InvalidApp""error"The application name specified in the call to NetConnection.connect() is invalid.
"NetConnection.Connect.NetworkChange""status"

Flash Player has detected a network change, for example, a dropped wireless connection, a successful wireless connection,or a network cable loss.

Use this event to check for a network interface change. Don't use this event to implement your NetConnection reconnect logic. Use "NetConnection.Connect.Closed" to implement your NetConnection reconnect logic.

"NetConnection.Connect.Rejected""error"The connection attempt did not have permission to access the application.
"NetConnection.Connect.Success""status"The connection attempt succeeded.
"NetGroup.Connect.Failed""error"The NetGroup connection attempt failed. The info.group property indicates which NetGroup failed.
"NetGroup.Connect.Rejected""error"The NetGroup is not authorized to function. The info.group property indicates which NetGroup was denied.
"NetGroup.Connect.Success""status"The NetGroup is successfully constructed and authorized to function. The info.group property indicates which NetGroup has succeeded.
"NetGroup.LocalCoverage.Notify""status"Sent when a portion of the group address space for which this node is responsible changes.
"NetGroup.MulticastStream.PublishNotify""status"Sent when a new named stream is detected in NetGroup's Group. The info.name:String property is the name of the detected stream.
"NetGroup.MulticastStream.UnpublishNotify""status"Sent when a named stream is no longer available in the Group. The info.name:String property is name of the stream which has disappeared.
"NetGroup.Neighbor.Connect""status"Sent when a neighbor connects to this node. The info.neighbor:String property is the group address of the neighbor. The info.peerID:String property is the peer ID of the neighbor.
"NetGroup.Neighbor.Disconnect""status"Sent when a neighbor disconnects from this node. The info.neighbor:String property is the group address of the neighbor. The info.peerID:String property is the peer ID of the neighbor.
"NetGroup.Posting.Notify""status"Sent when a new Group Posting is received. The info.message:Object property is the message. The info.messageID:String property is this message's messageID.
"NetGroup.Replication.Fetch.Failed""status"Sent when a fetch request for an object (previously announced with NetGroup.Replication.Fetch.SendNotify) fails or is denied. A new attempt for the object will be made if it is still wanted. The info.index:Number property is the index of the object that had been requested.
"NetGroup.Replication.Fetch.Result""status"Sent when a fetch request was satisfied by a neighbor. The info.index:Number property is the object index of this result. The info.object:Object property is the value of this object. This index will automatically be removed from the Want set. If the object is invalid, this index can be re-added to the Want set with NetGroup.addWantObjects().
"NetGroup.Replication.Fetch.SendNotify""status"Sent when the Object Replication system is about to send a request for an object to a neighbor.The info.index:Number property is the index of the object that is being requested.
"NetGroup.Replication.Request""status"Sent when a neighbor has requested an object that this node has announced with NetGroup.addHaveObjects(). This request must eventually be answered with either NetGroup.writeRequestedObject() or NetGroup.denyRequestedObject(). Note that the answer may be asynchronous. The info.index:Number property is the index of the object that has been requested. The info.requestID:int property is the ID of this request, to be used by NetGroup.writeRequestedObject() or NetGroup.denyRequestedObject().
"NetGroup.SendTo.Notify""status"Sent when a message directed to this node is received. The info.message:Object property is the message. The info.from:String property is the groupAddress from which the message was received. The info.fromLocal:Boolean property is TRUE if the message was sent by this node (meaning the local node is the nearest to the destination group address), and FALSE if the message was received from a different node. To implement recursive routing, the message must be resent with NetGroup.sendToNearest() if info.fromLocal is FALSE.
"NetStream.Buffer.Empty""status"Flash Player is not receiving data quickly enough to fill the buffer. Data flow is interrupted until the buffer refills, at which time a NetStream.Buffer.Full message is sent and the stream begins playing again.
"NetStream.Buffer.Flush""status"Data has finished streaming, and the remaining buffer is emptied. Note: Not supported in AIR 3.0 for iOS.
"NetStream.Buffer.Full""status"The buffer is full and the stream begins playing.
"NetStream.Connect.Closed""status"The P2P connection was closed successfully. The info.stream property indicates which stream has closed. Note: Not supported in AIR 3.0 for iOS.
"NetStream.Connect.Failed""error"The P2P connection attempt failed. The info.stream property indicates which stream has failed. Note: Not supported in AIR 3.0 for iOS.
"NetStream.Connect.Rejected""error"The P2P connection attempt did not have permission to access the other peer. The info.stream property indicates which stream was rejected. Note: Not supported in AIR 3.0 for iOS.
"NetStream.Connect.Success""status"The P2P connection attempt succeeded. The info.stream property indicates which stream has succeeded. Note: Not supported in AIR 3.0 for iOS.
"NetStream.DRM.UpdateNeeded""status"A NetStream object is attempting to play protected content, but the required Flash Access module is either not present, not permitted by the effective content policy, or not compatible with the current player. To update the module or player, use the update() method of flash.system.SystemUpdater. Note: Not supported in AIR 3.0 for iOS.
"NetStream.Failed""error"(Flash Media Server) An error has occurred for a reason other than those listed in other event codes.
"NetStream.MulticastStream.Reset""status"A multicast subscription has changed focus to a different stream published with the same name in the same group. Local overrides of multicast stream parameters are lost. Reapply the local overrides or the new stream's default parameters will be used.
"NetStream.Pause.Notify""status"The stream is paused.
"NetStream.Play.Failed""error"An error has occurred in playback for a reason other than those listed elsewhere in this table, such as the subscriber not having read access. Note: Not supported in AIR 3.0 for iOS.
"NetStream.Play.FileStructureInvalid""error"(AIR and Flash Player 9.0.115.0) The application detects an invalid file structure and will not try to play this type of file. Note: Not supported in AIR 3.0 for iOS.
"NetStream.Play.InsufficientBW""warning"(Flash Media Server) The client does not have sufficient bandwidth to play the data at normal speed. Note: Not supported in AIR 3.0 for iOS.
"NetStream.Play.NoSupportedTrackFound""status"(AIR and Flash Player 9.0.115.0) The application does not detect any supported tracks (video, audio or data) and will not try to play the file. Note: Not supported in AIR 3.0 for iOS.
"NetStream.Play.PublishNotify""status"The initial publish to a stream is sent to all subscribers.
"NetStream.Play.Reset""status"Caused by a play list reset. Note: Not supported in AIR 3.0 for iOS.
"NetStream.Play.Start""status"Playback has started.
"NetStream.Play.Stop""status"Playback has stopped.
"NetStream.Play.StreamNotFound""error"The file passed to the NetStream.play() method can't be found.
"NetStream.Play.Transition""status"(Flash Media Server 3.5) The server received the command to transition to another stream as a result of bitrate stream switching. This code indicates a success status event for the NetStream.play2() call to initiate a stream switch. If the switch does not succeed, the server sends a NetStream.Play.Failed event instead. When the stream switch occurs, an onPlayStatus event with a code of "NetStream.Play.TransitionComplete" is dispatched. For Flash Player 10 and later. Note: Not supported in AIR 3.0 for iOS.
"NetStream.Play.UnpublishNotify""status"An unpublish from a stream is sent to all subscribers.
"NetStream.Publish.BadName""error"Attempt to publish a stream which is already being published by someone else.
"NetStream.Publish.Idle""status"The publisher of the stream is idle and not transmitting data.
"NetStream.Publish.Start""status"Publish was successful.
"NetStream.Record.AlreadyExists""status"The stream being recorded maps to a file that is already being recorded to by another stream. This can happen due to misconfigured virtual directories.
"NetStream.Record.Failed""error"An attempt to record a stream failed.
"NetStream.Record.NoAccess""error"Attempt to record a stream that is still playing or the client has no access right.
"NetStream.Record.Start""status"Recording has started.
"NetStream.Record.Stop""status"Recording stopped.
"NetStream.SecondScreen.Start""status"Sent when the PlayTo session starts. The description field attached to this event will contain the name of the device that will be getting the video. Applies only to Windows 8.1, IE11, modern mode.
"NetStream.SecondScreen.Stop""status"Sent when the PlayTo session ends. Applies only to Windows 8.1, IE11, modern mode.
"NetStream.Seek.Failed""error"The seek fails, which happens if the stream is not seekable.
"NetStream.Seek.InvalidTime""error"For video downloaded progressively, the user has tried to seek or play past the end of the video data that has downloaded thus far, or past the end of the video once the entire file has downloaded. The info.details property of the event object contains a time code that indicates the last valid position to which the user can seek.
"NetStream.Seek.Notify""status"

The seek operation is complete.

Sent when NetStream.seek() is called on a stream in AS3 NetStream Data Generation Mode. The info object is extended to include info.seekPoint which is the same value passed to NetStream.seek().

"NetStream.Step.Notify""status"The step operation is complete. Note: Not supported in AIR 3.0 for iOS.
"NetStream.Unpause.Notify""status"The stream is resumed.
"NetStream.Unpublish.Success""status"The unpublish operation was successfuul.
"SharedObject.BadPersistence""error"A request was made for a shared object with persistence flags, but the request cannot be granted because the object has already been created with different flags.
"SharedObject.Flush.Failed""error"The "pending" status is resolved, but the SharedObject.flush() failed.
"SharedObject.Flush.Success""status"The "pending" status is resolved and the SharedObject.flush() call succeeded.
"SharedObject.UriMismatch""error"An attempt was made to connect to a NetConnection object that has a different URI (URL) than the shared object.
"NetStream.Video.DimensionChange""status"The video dimensions are available or have changed. Use the Video or StageVideo videoWidth/videoHeight property to query the new video dimensions. New in Flash Player 11.4/AIR 3.4.

If you consistently see errors regarding the buffer, try changing the buffer using the NetStream.bufferTime property.



Implementation
    public function get info():Object
    public function set info(value:Object):void

Related API Elements


Example  ( How to use this example )
The following example shows an event handler function that tests for the "NetStream.Seek.InvalidTime" error. The "NetStream.Seek.InvalidTime" error happens when the user attempts to seek beyond the end of the downloaded stream. The example tests the value of the event object's info.code property. In case the error occurs, the eventObj.info.details property is assigned to a variable to use as a parameter for the stream's seek() method. The eventObj.info.details contains the last valid position available to handle the error. So, the user goes to a valid location at the end of the downloaded stream.
function videoStatus(eventObj:NetStatusEvent):Void
{
    switch(eventObj.info.code)
    {
        case "NetStream.Seek.InvalidTime":
        {
            var validSeekTime:Number = eventObj.info.details;
            nStream.seek(validSeekTime);
            break;
        }
    }
}
Constructor Detail

NetStatusEvent

()Constructor
public function NetStatusEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, info:Object = null)

Language Version: ActionScript 3.0
Runtime Versions: AIR 1.0, Flash Player 9, Flash Lite 4

Creates an Event object that contains information about netStatus events. Event objects are passed as parameters to event listeners.

Parameters
type:String — The type of the event. Event listeners can access this information through the inherited type property. There is only one type of status event: NetStatusEvent.NET_STATUS.
 
bubbles:Boolean (default = false) — Determines whether the Event object participates in the bubbling stage of the event flow. Event listeners can access this information through the inherited bubbles property.
 
cancelable:Boolean (default = false) — Determines whether the Event object can be canceled. Event listeners can access this information through the inherited cancelable property.
 
info:Object (default = null) — An object containing properties that describe the object's status. Event listeners can access this object through the info property.

Related API Elements

Method Detail

clone

()method
override public function clone():Event

Language Version: ActionScript 3.0
Runtime Versions: AIR 1.0, Flash Player 9, Flash Lite 4

Creates a copy of the NetStatusEvent object and sets the value of each property to match that of the original.

Returns
Event — A new NetStatusEvent object with property values that match those of the original.

toString

()method 
override public function toString():String

Language Version: ActionScript 3.0
Runtime Versions: AIR 1.0, Flash Player 9, Flash Lite 4

Returns a string that contains all the properties of the NetStatusEvent object. The string is in the following format:

[NetStatusEvent type=value bubbles=value cancelable=value info=value]

Returns
String — A string that contains all the properties of the NetStatusEvent object.
Constant Detail

NET_STATUS

Constant
public static const NET_STATUS:String = "netStatus"

Language Version: ActionScript 3.0
Runtime Versions: AIR 1.0, Flash Player 9, Flash Lite 4

Defines the value of the type property of a netStatus event object.

This event has the following properties:

PropertyValue
bubblesfalse
cancelablefalse; there is no default behavior to cancel.
currentTargetThe object that is actively processing the Event object with an event listener.
infoAn object with properties that describe the object's status or error condition.
targetThe NetConnection or NetStream object reporting its status.

Related API Elements

NetStatusEventExample.as

The following example uses a Video object with the NetConnection and NetStream classes to load and play an FLV file.

In this example, the netStatusHandler method is registered as a listener for the NetStatusEvent event NetConnection.netStatus. When the status (success or failure) of the NetConnection.connect() attempt is determined, the netStatus event triggers this method. If the attempt to connect to the NetConnection object is successful (in other words, if the info property of the NetStatusEvent object dispatched by the netStatus event has a code property that indicates success), the code creates the Video and NetStream objects and calls the Video.attachNetStream() and NetStream.play() methods.

Note: To run this example, you need an FLV file whose name and location match the variable passed to videoURL; in this case, an FLV file called Video.flv that is in the same directory as the SWF file.


 package {
    import flash.display.Sprite;
    import flash.events.*;
    import flash.media.Video;
    import flash.net.NetConnection;
    import flash.net.NetStream;

    public class NetStatusEventExample extends Sprite {
        private var videoURL:String = "Video.flv";
        private var connection:NetConnection;
        private var stream:NetStream;

        public function NetStatusEventExample() {
            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("Unable to locate video: " + videoURL);
                    break;
            }
        }

        private function connectStream():void {
            var stream:NetStream = new NetStream(connection);
            stream.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
            stream.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler);
            var video:Video = new Video();
            video.attachNetStream(stream);
            stream.play(videoURL);
            addChild(video);
        }

        private function securityErrorHandler(event:SecurityErrorEvent):void {
            trace("securityErrorHandler: " + event);
        }
        
        private function asyncErrorHandler(event:AsyncErrorEvent):void {
            // ignore AsyncErrorEvent events.
        }

    }
 }