MACROMEDIA FLASH MEDIA SERVER 2-DEVELOPING MEDIA Applications

Summary of FLASH MEDIA SERVER 2-DEVELOPING MEDIA

  • Page 1

    Developing media applications.

  • Page 2

    Trademarks 1 step robopdf, activeedit, activetest, authorware, blue sky software, blue sky, breeze, breezo, captivate, central, coldfusion, contribute, database explorer, director, dreamweaver, fireworks, flash, flashcast, flashhelp, flash lite, flashpaper, flash video encoder, flex, flex builder, f...

  • Page 3

    3 contents about this manual. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 intended audience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 about the flash media server documentation . . . . . . . . . . . . . . . . . ....

  • Page 4

    4 chapter 3: using media classes . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 about flash media server classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 about client-side classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 about server-...

  • Page 5

    5 chapter 5: debugging and monitoring applications . . . . . . . . . 65 using the management console to debug and monitor application . 65 connecting the management console to a server . . . . . . . . . . . . . . 66 about the view applications panel . . . . . . . . . . . . . . . . . . . . . . . . . ...

  • Page 6

    6.

  • Page 7

    7 about this manual welcome to macromedia flash media server 2—a powerful server platform for creating rich media applications in macromedia flash and for streaming audio and video to flash clients. Flash media server (fms) can enable two or more people to participate in a real-time conversation usi...

  • Page 8

    8 about this manual about the flash media server documentation the flash media server documentation is designed to be used with the flash documentation, namely using flash and the actionscript 2.0 language reference guide. All flash media server documents are available in pdf format (viewable and pr...

  • Page 9

    Typographical conventions 9 support for learning about flash media server you may want to explore these other sources of support for learning about flash media server: ■ the flash media server support center provides technotes and up-to-date information about flash media server. ■ the flash media se...

  • Page 10

    10 about this manual.

  • Page 11

    11 1 chapter 1 getting started this chapter describes initial steps you need to take before you begin developing applications with macromedia flash media server 2. It describes how to set up your development environment, how to deploy your applications, and how to create a simple application to conn...

  • Page 12

    12 getting started flash player make sure that you are using the latest version of flash player. You can download flash player from the macromedia website at www.Macromedia.Com/go/ getflashplayer . Camera and microphone to install a camera or microphone, follow the instructions that accompany your d...

  • Page 13

    Creating a development environment 13 creating a development environment this section explains what you need to know before you create flash media server applications. Make sure the server is running to publish and test your applications, flash media server must be running. For more information, see...

  • Page 14

    14 getting started acknowledging the user’s right to privacy before you record or broadcast anyone’s image or voice, it’s important to inform that person of your intention and to gain their consent or agreement. Monitoring running applications if you have server administration permissions, you can v...

  • Page 15

    Deploying applications and application instances 15 5. Publish the swf file for your application in a directory accessible to your clients but that flash media server does not use. For example, you could put your swf file in the web root directory that will serve your application to your clients, or...

  • Page 16

    16 getting started for organizational purposes during your development work, it might be convenient to store all of our client and server application files (fla, swf, html, or asc) in one subdirectory. When you deploy your application, you can place your swfand html files in any location. However, t...

  • Page 17

    Deploying applications and application instances 17 about application instances applications are run by creating application instances. When a client connects to an application, the client is actually connected to an application instance. For example, a client connects to an application named chat_a...

  • Page 18

    18 getting started second_nc.Connect("myserver.Mydomain.Com/support/session2"); second_so = sharedobject.Getremote("customerinfo", second_nc.Uri, false); second_so.Connect(second_nc.Uri); instance name room_01 is frequently used, but you can use any string for an instance name that makes sense in yo...

  • Page 19

    Connecting to the server 19 flv and idx files recorded streams and their associated index files. When the server generates streams, it also generates a streams directory in the registered application directory and stores flv and idx files in a subdirectory specific to the application instance (for e...

  • Page 20

    20 getting started opening a connection to the server open a new file in the flash authoring environment, and then add the client-side actionscript commands to connect to the server. To connect to flash media server: 1. In a new flash application, begin opening a connection by issuing the following ...

  • Page 21

    21 2 chapter 2 flash media server architecture the macromedia flash media server 2 platform is made up of two parts: the server and macromedia flash player. Applications built on this platform consist of a client macromedia flash application (swf file) that is run by flash player, and a server compo...

  • Page 22

    22 flash media server architecture understanding the flash media server architecture the server and the flash client application communicate over a persistent connection using real-time message protocol (rtmp). In a typical scenario, a web server delivers the flash client to flash player over http. ...

  • Page 23

    About streams and shared objects 23 multiple users (flash clients) can connect to the same application running on flash media server, which acts as a communication channel between connected users. Flash media server provides a channel of communication for clients. About streams and shared objects in...

  • Page 24

    24 flash media server architecture recorded streams are saved in the flash video (flv) format. Recorded streams can contain data messages, as well as video. You can also create flv files from existing digital video or audio files by using third-party video encoding utilities, like on2 or sorenson sq...

  • Page 25

    About streams and shared objects 25 understanding shared objects the two basic types of shared objects you can use when you create media applications are local and remote. You can think of local shared objects as “flash cookies”: they let you save data to a user’s computer for off-line access, or fo...

  • Page 26

    26 flash media server architecture about connecting to external data sources in addition to the communication models that streams and shared objects provide, flash media server can also interact with external data sources such as web services and relational databases, or even other flash media serve...

  • Page 27

    Workflow for creating and deploying applications 27 workflow for creating and deploying applications you use the flash authoring tool to create your application’s client component, which runs in flash player. The flash swf file provides the application’s user interface, and also contains actionscrip...

  • Page 28

    28 flash media server architecture the server files, including any asc files, recorded stream (flv) files and other server-side resource files, are published to the registered application directory you’ve defined on the server. For more information on registering an application directory, see chapte...

  • Page 29

    Understanding application flow 29 if you’re an administrator, you’ll use the management console to configure flash media server, set up system security, monitor usage, start and stop the server, and add users. For more information on administration tasks for flash media server, see managing flash me...

  • Page 30

    30 flash media server architecture understanding connection flow the client connects to the server, and the server calls onappstart when the application instance is loaded (if the application is already running, onappstart is not called). Next, the server-side onconnect handler is invoked with a new...

  • Page 31

    Understanding application flow 31 invoking remote methods after a successful connection, the client can invoke remote methods that the server component defines; the server application can also remotely invoke actionscript methods defined in the flash client application. Invoking server methods from ...

  • Page 32

    32 flash media server architecture the following table lists flash media server client status messages: the netstream.Failed and netstream.Play.Failed information object also have a description property, which is a string that provides a specific reason for the failure. The netstream.Play.Start and ...

  • Page 33

    Understanding application flow 33 for more information on invoking server methods remotely, see the client."commandname" entry in the server-side actionscript language reference. Invoking client methods from the server the process for invoking client-defined methods from the server is similar to the...

  • Page 34

    34 flash media server architecture the netstream.Failed and netstream.Play.Failed information objects also have a description property, which is a string that provides a specific reason for the failure. The netstream.Play.Start and netstream.Play.Failed information objects also have a details proper...

  • Page 35

    Understanding application flow 35 after the client is connected to the shared object, the server sends out a synchronization message for the shared object, which is handled by the sharedobject.Onsync event handler defined on the client. When the client, the server, or any other movie instance makes ...

  • Page 36

    36 flash media server architecture.

  • Page 37

    37 3 chapter 3 using media classes macromedia flash media server provides two application program interfaces (apis): a client- side api and a server-side api. This chapter explains the client-side classes, the server-side classes, and how objects created from these classes are paired during communic...

  • Page 38

    38 using media classes camera class the client-side camera class lets you capture video from a video camera attached to any computer running macromedia flash player. When used with flash media server, this class lets you transmit, display, and optionally record the video being captured. With these c...

  • Page 39

    About flash media server classes 39 to place a video object on the stage from within flash: 1. In flash, select window > library to display the library panel if it isn’t open. 2. Add an embedded video object to the library by clicking the options menu at the upper right of the library panel and sele...

  • Page 40

    40 using media classes you can use macromedia flash remoting with the flash media server to communicate with application servers such as macromedia coldfusion, .Net, and j2ee servers. For more information, see the flash remoting information on the macromedia website at www.Macromedia.Com/go/flashrem...

  • Page 41

    Understanding shared objects 41 in the following table, the client-side calls on the left invoke the server-side calls on the right. In the following table, the server-side calls on the left invoke the client-side calls on the right. Understanding shared objects shared objects are a means for sharin...

  • Page 42

    42 using media classes about remote shared objects using client-side actionscript, you can create and reference shared objects that are available to other flash media server application instances running on the same or different clients. Like local shared objects, these objects can persist on the lo...

  • Page 43

    About the application class 43 for more information on the application class, see the application class entry in the server-side actionscript language reference. Using the application.Onconnect handler the application.Onconnect event handler is invoked on the server when a client calls the netconnec...

  • Page 44

    44 using media classes also, if you want to use the call() method on the client object that is connecting, make sure you call application.Acceptconnection() and know that the client is connected before issuing any additional commands. The following code sets up this sequence of actions: application....

  • Page 45

    About the application class 45 using the application.Ondisconnect handler the server calls the application.Ondisconnect handler when a client disconnects from the application. You can add code to this handler that notifies all other clients about this event, as in the following example: // on the se...

  • Page 46

    46 using media classes handling events in a component-based application when you develop applications, be aware that using components introduces explicit onconnectaccept and onconnectreject events. You need to include code to handle these events. When you use components, you must modify the applicat...

  • Page 47

    The client class 47 suggested settings for different bandwidth speeds the default camera settings provide a good viewing experience for all bandwidth settings. However, you can experiment with different settings for different bandwidths. The code for setting the bandwidth speeds is as follows: my_ca...

  • Page 48

    48 using media classes the microphone class this section includes recommendations for optimizing your use of the microphone class, including tips on avoiding audio feedback. Avoiding audio feedback if you’re using a microphone with external speakers and a reasonably high gain, you’re likely to incur...

  • Page 49

    The netconnection class (client-side) 49 the netconnection class (client-side) if an html page containing a flash application (swf file) is accessed with a different domain name than the domain name the swf file uses to access flash media server, the connection to flash media server will not be succ...

  • Page 50

    50 using media classes the netstream class this section includes recommendations for optimizing your use of the netstream class, including tips on incorporating data into a stream, managing a stream’s buffer, and executing code when a stream has finished playback. Using multiple data types in a stre...

  • Page 51

    The netstream class 51 then, in the corresponding server-side actionscript, you would add the following code in the main.Asc file: application.Onappstart = function(){ trace("::: application has started :::"); } application.Onconnect = function(client){ application.Acceptconnection(client); // add m...

  • Page 52

    52 using media classes the sharedobject class shared objects can be used for a wide number of purposes, and can be designed and used in a number of ways. This section provides some items to consider as you begin using shared objects in your applications. About synchronizing shared objects before att...

  • Page 53

    The sharedobject class 53 on the other hand, if your application needs to send only information that has changed, then you should divide the data among multiple slots. This implementation reduces network traffic and thus enhances the performance of your application. It also minimizes the need for co...

  • Page 54

    54 using media classes assign an owner a more complex strategy is to define a single client as the owner of a property in a shared object for a limited period of time. You might write server code to create a “lock” object, where a client can request ownership of a slot. If the server reports that th...

  • Page 55

    The system class 55 accept some changes and reject others some applications can accept changes on a “first come, first served” basis. This works best when users can resolve conflicts by reapplying a change if someone else’s change preceded theirs. Use the sharedobject.Send() method to increase your ...

  • Page 56

    56 using media classes about the video class this section includes recommendations for optimizing your use of the video class, including tips on dynamically creating video objects. For more information about video, see chapter 4, “working with media files.” about creating video objects dynamically y...

  • Page 57

    57 4 chapter 4 working with media files macromedia flash media server lets you deliver a broad range of media experiences. This chapter includes information about creating live web-event broadcasts, customizing stream delivery for individual clients, and mp3 publishing and playback. Working with vid...

  • Page 58

    58 working with media files customizing stream delivery you can use the flash media server custom stream delivery feature to provide the best streaming experience for each client by serving different versions of the same stream to different clients. For example, you can provide video encoded with th...

  • Page 59

    Working with video 59 consider the following example: a user wants to play a stream and has flash player 8 installed on their computer. Flash player 8 is capable of playing on2 video. Flash media server requests the happystream.Flv file. After contacting the server, flash player 8 determines the val...

  • Page 60

    60 working with media files within the virtualkeys tag of the vhost.Xml file, set the virtual key for flash player 7 and below to fp7 and set the virtual key for flash player 7 (7.0.19.0) and later (the player version that supports the on2 codec) to fp8 , as in the following example: fp8 fp8 fp7 fp7...

  • Page 61

    Working with video 61 by default there are no values in the key tags. To implement this feature, you must add the key values, either directly in the vhost.Xml file, or with the stream.Setvirtualpath() method. For example, to implement this feature, set the first key to a, and the second two keys to ...

  • Page 62

    62 working with media files working with mp3 files in flash media server applications, you can use client-side actionscript to play mp3 audio files and to display the id3 tags of mp3 files, and use server-side actionscript to publish mp3 files over a stream. To do so, upload the mp3 files for your a...

  • Page 63

    Working with mp3 files 63 to display the id3 tags of mp3 files, precede the stream name with id3: and define a callback function to capture the id3 data. For example, to display the id3 tag of bolero.Mp3: // displays the id3 tag of bolero.Mp3 mystream_ns.Play("id3:bolero"); // callback function to c...

  • Page 64

    64 working with media files to use the stream.Play() method to capture and display the text of id3 tags, see the following example: // set up the server stream application.Mystream = stream.Get("description"); application.Mystream.Onid3 = function(info) { for (i in info) { trace(i + ": " + info[i]);...

  • Page 65

    65 5 chapter 5 debugging and monitoring applications the macromedia flash media server 2 management console lets you control applications, users, and servers. This chapter covers how to view application usage, stream data, and shared object data. For information about adding and removing server and ...

  • Page 66

    66 debugging and monitoring applications connecting the management console to a server when you open the management console, you use the log-on screen to connect as an administrator to the server that is running the applications you want to manage. The login screen of the management console lets you...

  • Page 67

    Using the management console to debug and monitor application 67 6. To connect to this server automatically whenever you open the management console, select automatically connect me. 7. Click login. About the view applications panel after you connect to a server or virtual host, the management conso...

  • Page 68

    68 debugging and monitoring applications the view applications panel lets you perform the following tasks: ■ to manually load an application instance, click new instance and select the application from the pop-up menu. The application must already be configured on the server. After selecting an appl...

  • Page 69

    Using the management console to debug and monitor application 69 about the live log panel the live log panel displays the log messages by the selected application instance on the server, such as trace () statements in the application. The information in this panel is updated whenever the application...

  • Page 70

    70 debugging and monitoring applications about the clients panel the clients panel displays detailed information about all of the clients connected to an application, including server-generated client id, connection protocol, bytes in and out, connection time, messages in and out, and dropped messag...

  • Page 71

    Using the management console to debug and monitor application 71 drops indicates the number of messages that have dropped since the client connected. For live streams, audio and video, messages may be dropped; for recorded streams, only video messages are dropped. Command messages are never dropped....

  • Page 72

    72 debugging and monitoring applications shared objects can be remotely persistent (they are stored on the server and are still available after an application instance or server is stopped and restarted), or available only for the life of the instance (they are temporary, and are deleted when the in...

  • Page 73

    Using the management console to debug and monitor application 73 about the streams panel the streams panel lets you view information about and play streams. The information is automatically refreshed every 5 seconds, or you can click refresh to refresh at any time. The streams panel provides details...

  • Page 74

    74 debugging and monitoring applications the streams panel lets you perform the following tasks: ■ to customize this panel, click the pop-up menus and select or deselect the columns to display. ■ click play stream to start playing the selected stream in a separate window that is the size of the sele...

  • Page 75

    Using the management console to debug and monitor application 75 the performance panel displays the following information: clients provides information about clients connected to this application instance including the total number of clients who connected to the application instance since it starte...

  • Page 76

    76 debugging and monitoring applications using a debug connection for playing back streams and obtaining data from shared objects, the management console must make a special debug connection to the server. By default, the server does not allow this. You must change this in application.Xml. To enable...

  • Page 77

    About onstatus event handlers 77 for more information about the values that various onstatus handlers return, see the client- side actionscript language reference for flash media server 2. The following table summarizes the information objects that certain server-side calls return; the server-side c...

  • Page 78

    78 debugging and monitoring applications about the system.Onstatus handler in addition to the specific onstatus methods provided for the classes listed in “about onstatus event handlers” on page 76 , flash also provides a “super handler” called system.Onstatus . If onstatus is invoked for a particul...

  • Page 79

    Tracing the properties of an object 79 tracing the properties of an object to find out why you might be having problems with a particular object, you can iterate its properties as follows: for (i in my_obj) { trace(i + " = " + my_obj[i]); }.

  • Page 80

    80 debugging and monitoring applications.

  • Page 81

    81 6 chapter 6 application development tips and tricks this chapter points out some useful information about application development that is specific to macromedia flash media server. It includes general sections on application design and coding conventions. Read this chapter after you are familiar ...

  • Page 82

    82 application development tips and tricks to avoid overwriting streams, consider using unique names for users, streams, and so on. For example, when recording a new stream, you could provide an incremental value: outstream.Publish("myrecording" + numsnaps, "record"); for information on deleting rec...

  • Page 83

    Portability across servers 83 remotely persistent shared objects you create remote shared objects that are persistent only on the server by passing a value of true for the persistence parameter in the client-side sharedobject.Getremote() command or in the server-side sharedobject.Get() command. Thes...

  • Page 84

    84 application development tips and tricks if your swf file is on the same computer that is running the flash media server, you can use rtmp:/appname/instancename as a shortcut version of rtmp://server.Domain.Com/appname/ instancename. If you are authoring your application on a development server an...

  • Page 85

    Using multiple script files 85 in contrast, suppose you use the call() method from the client, to call a method on the server side: // this is client-side actionscript in the fla file. Netconnection.Call("someservermethod"); // this is server-side actionscript in the main.Asc file. Client.Prototype....

  • Page 86

    86 application development tips and tricks on the server side, you must implement slightly different code; server-side actionscript does not contain a global object. The following code includes a file called my_file.Asc: if (_my_file_asc == null) { _my_file_asc = true; // all the code for myfile.Asc...

  • Page 87

    Archiving and compiling server-side script files 87 to package server-side scripts in an archive file: 1. Open your operating system’s command shell. 2. Enter far -package with the desired options at the prompt. The syntax for running the archive compiler utility to create a script package is as fol...

  • Page 88

    88 application development tips and tricks to understand how to use a far file in an application, consider the following example, which is based on an application called testfar. The following is the directory of the testfar application:. The main script is called testfar.Asc and is located in the s...

  • Page 89

    Archiving and compiling server-side script files 89 now the scripts are ready to be packaged into a far file. Open the archive compiler utility in a command shell and run the following command: far -package -archive main.Far -files testfar.Asc webservices\*.Asc finally, replace the scripts folder in...

  • Page 90

    90 application development tips and tricks to compile server-side scripts to bytecode: 1. Open your operating system’s command shell. 2. Enter far -compile with the desired options at the prompt. The syntax for running the archive compiler utility to create a script package is as follows: c:\> far -...

  • Page 91

    Forcing the player settings panel to appear 91 forcing the player settings panel to appear when an application tries to access the user’s camera or microphone, or to save data on the client computer, flash player displays the player settings dialog boxes to obtain permission. You can also open the p...

  • Page 92

    92 application development tips and tricks managing bandwidth you can control the amount of data the server sends to each client by providing an approximate bandwidth capacity. You can do so in several ways. One way is to configure the capacity for the flash media server in the configuration file (c...

  • Page 93

    Writing double-byte applications 93 or the design can be more detailed and include content switching in the netstream, as in the following: ns = new netstream(nc); ns.Onstatus = function(info){ if (info.Code == "netstream.Play.Insufficientbw"){ // switch to play a content that requires less bandwidt...

  • Page 94

    94 application development tips and tricks about unloading and reloading applications application instances are usually unloaded because of garbage collection. The first time the garbage collector runs after all clients are disconnected from an application, the application is unloaded. In other word...

  • Page 95

    Developing secure applications 95 if you set the read access as follows: client.Readaccess = "appso/" the server allows all connected clients to subscribe to shared objects with names that begin with appso . Similarly, you can make the call: client.Writeaccess= "appso/public/" and the client can cre...

  • Page 96

    96 application development tips and tricks to use rtmps, you replace rtmp in your netconnection.Connect call with rtmps . If you don’t specify a port number, flash player connects on the default secure port, port 443. A secure port is designated with a minus sign. For example, :1935,80,-443 hostport...

  • Page 97

    Protecting scripts from third-party code 97 this section provides information about creating protected objects (also called system objects) and provides examples of how to make both synchronous and asynchronous calls to those objects. Understanding system objects a system object is a built-in or use...

  • Page 98

    98 application development tips and tricks simple-system call example the following simple-system call example implements an id generator. The generator must generate an increasing number for each new id. If you write the generator code in the main.Asc file, any part of the script could easily redef...

  • Page 99

    Protecting scripts from third-party code 99 the following secure.Asc example shows how to wrap a built-in global function—in this case load() . After secure.Asc is executed, calls to load() are directed through the user-defined system call, as follows: var sysobj = {}; sysobj._load = load; // hide t...

  • Page 100

    100 application development tips and tricks the flash media server does not maintain privilege levels explicitly. For example, an asynchronous call set up by normal application code cannot be privileged. However asynchronous calls set up within the system object can choose to complete the calls eith...

  • Page 101

    Coding conventions 101 coding conventions this document outlines a system of best practices specifically designed for coding with actionscript and building applications with macromedia flash. Applications that use these guidelines should be more efficient and understandable—and the underlying action...

  • Page 102

    102 application development tips and tricks because actionscript is based on ecmascript, application authors can refer to current and future ecma specifications to view a list of reserved words. Although flash does not enforce the use of constant variables, authors should still use a naming scheme t...

  • Page 103

    Coding conventions 103 for more information on strict typing and code hints, see learning actionscript 2.0 in flash or search for “strict data typing” or “code hints” in flash help. Commenting your code always comment code in an application. Comments are the author’s opportunity to tell a story abou...

  • Page 104

    104 application development tips and tricks initializing applications initialization of an application is used to set the starting state. It should be the first function call in the application. This function should be the only call for initialization made in your program; all other calls should be ...

  • Page 105

    Coding conventions 105 in this case, the counter variable on the main timeline is overwritten by the counter variable within the function. The following is the corrected code, which uses the keyword counter to declare both of the variables: var counter = 7; function looptest(){ trace(counter); for(v...

  • Page 106

    106 application development tips and tricks.

  • Page 107

    107 index symbols #include command 85 a acl (access control list), implementing 94 actionscript client-side and server-side 85 commands for connecting to server 19 execution modes 97 including other scripts 85 server-side information objects 77 supporting code hints 102 active connections, in perfor...

  • Page 108

    108 b bandwidth and microphones 48 bytes per second 75 management console, viewing in 75 managing 92 speed settings 47 bytecode, compiling scripts to 89 bytes, in and out 70 c camera class about 38, 46 attachvideo() method 46 bandwidth settings 47 get() method 38 tips and tricks 46 camera.Attachvide...

  • Page 109

    109 d deleting recorded stream files 55 deploying applications 15 designing applications for interdependence 84 for portability across servers 83 developer center for flash media server 9 development environment, setting up 11 directories, naming 83 display id 70 documentation for flash media server...

  • Page 110

    110 l level property. See information objects linux 12 live log panel 69 live stream. See streams loading the components.Asc file 13 loadvars class 39 local shared objects. See shared objects local variables, using var for 104 localhost, and netconnection.Connect() method 20 log messages. See manage...

  • Page 111

    111 netstream.Attachvideo() method 46 netstream.Bufferlength property 50, 51 netstream.Bufferlength propery 51 netstream.Bufferstream property 51 netstream.Buffertime property 51 netstream.Play() method 38 about 40 and id3 tags 63 and video object 38 netstream.Publish() method 18, 38, 40, 81 netstre...

  • Page 112

    112 file location 82 file types 19 flushing on server 53 local 38, 41 locking 54 management console, viewing in 71 name, viewing 71 persistence, local and remote 82 properties, viewing 71 proxied 42 read/write access, controlling 94 remote 42 see also sharedobject class server-side 40 slots 52 sol a...

  • Page 113

    113 t technical support 9 text, encoding 55 third-party resources for flash media server 9 troubleshooting application won’t connect to server 78 netconnection.Connect.Failed message 78 type of stream, in streams panel 73 u unloading and reloading applications 94 uri (universal resource identifier) ...

  • Page 114

    114.