Flash Com (Media Server) is a real-time communication server. It provides an extensible and customizable platform for developing real-time, media-rich, web-based communication applications. Flash Com takes care of the plumbing required to create networked applications, allowing you to focus on your unique application rather than write code to support network protocols.

A Flash movie running in Flash Player 6 or later can connect to a Flash Com Server and through it exchange audio, video, and ActionScript data with other Flash movies. Creating communication applications involves scripting using ActionScript on the client side and its close relative, Server-Side ActionScript, on the server side. Adobe provides ActionScript classes that make managing real-time multiuser communications much simpler than in other platforms.

Flash Com Server runs on Windows or Linux, but the Flash client runs on multiple platforms, including Windows and Macintosh
. Authoring is often performed in Flash MX 2004 or Flash MX Professional 2004 on Windows or Macintosh. Adobe also provides higher-level communication components that can be used with a minimum of coding to create a variety of basic applications. Examples include the People List component that shows who is online and the Chat, White Board, and Video Conference components.

It is a remarkable experience to create a communication application by simply dragging some of these components onto Flash's Stage, creating a directory and a little code on the server, and then participate in a video conference complete with text chat, whiteboard, and people list. Applications created this way are not really complete for example, they are usually single room applications with minimal security but communication components are powerful tools that make developing even full-fledged applications much easier. Adobe also provides administrative tools to manage, monitor, and log server activity.


What does FlashCom Server offer that you can't get with the Flash client alone? FlashCom's features include:
  • Streaming video if the user has Flash Player 6 or higher.
  • Real-time video, audio, text, and data exchange.
  • Uploading of video and audio from the user's Camera and Microphone objects.
If you want to stream live video to the Flash Player, you need FlashCom. If you just want to play back a recorded stream, you can do so without FlashCom, but performance might suffer.




Part I: FlashCom Foundation
Chapter 1. Introducing the Flash Communication Server
Section 1.1. Clients and Servers
Section 1.2. Creating an Application
Section 1.3. Real-Time Messaging Protocol
Section 1.4. The Communication Classes
Section 1.5. Communicating with Application Servers, Databases, and Directory Servers
Section 1.6. Firewalls and Security
Section 1.7. Getting Started
Section 1.8. Hello Video!
Section 1.9. Conclusion

Chapter 2. Communication Components
Section 2.1. Overview of Communication Components
Section 2.2. Summary of Communication Components
Section 2.3. Creating an Application that Monitorsa Connection
Section 2.4. Building a Simple Chat Room
Section 2.5. Adding Audio and Video to the Chat Room
Section 2.6. Forgoing the SimpleConnect Component
Section 2.7. Conclusion

Chapter 3. Managing Connections
Section 3.1. Making a Connection
Section 3.2. Managing a Connection
Section 3.3. Reusing a NetConnection Object
Section 3.4. Multiple Simultaneous NetConnection Objects
Section 3.5. Testing and Debugging Network Connections
Section 3.6. Subclassing the NetConnection Class
Section 3.7. Communication Components Without SimpleConnect
Section 3.8. Conclusion

Chapter 4. Applications, Instances, and Server-Side ActionScript

Section 4.1. Scripting Application Instances
Section 4.2. Differences Between Flash ActionScript and Server-Side ActionScript
Section 4.3. The Life of an Application Instance
Section 4.4. Running a Simple Hello World Test Script
Section 4.5. A More Realistic Example
Section 4.6. Instance-to-Instance Communications
Section 4.7. Script Filenames and Locations in Detail
Section 4.8. Testing and Debugging Server-SideScript Files
Section 4.9. Designing Communication Applications
Section 4.10. Conclusion

Part II: Audio, Video, and Data Streams

Chapter 5. Managing Streams
Section 5.1. A Simple Publisher/Subscriber Example
Section 5.2. Stream Names
Section 5.3. Publishing Streams in Detail
Section 5.4. Playing Streams in Detail
Section 5.5. The Stream Class
Section 5.6. Publishing and Playing ActionScript Data
Section 5.7. Creating Synchronized Presentations
Section 5.8. The NetStream and Stream Information Objects
Section 5.9. Stream Enhancements and Limitations
Section 5.10. Conclusion

Chapter 6. Microphone and Camera
Section 6.1. Working with Microphone/Audio Input
Section 6.2. Working with Camera Input
Section 6.3. Building a Message-Taking Application
Section 6.4. Building a Surveillance Application
Section 6.5. Conclusion

Chapter 7. Media Preparation and Delivery
Section 7.1. Audio and Video Compression
Section 7.2. Converting Prerecorded Materialto FLV Format
Section 7.3. Using Flash Pro's Media Components
Section 7.4. Enabling Multiple Bit Rate FLVsWithin an Application
Section 7.5. Streaming MP3 Audio
Section 7.6. Conclusion

Part III: Remote Connectivity and Communication

Chapter 8. Shared Objects

Section 8.1. Objects and Shared Objects
Section 8.2. Getting a Shared Object in Flash
Section 8.3. Updates and Frame Rates
Section 8.4. Scripting Shared Objects on the Server
Section 8.5. Temporary and Persistent Shared Objects
Section 8.6. Proxied Shared Objects
Section 8.7. Shared Objects and Custom Classes
Section 8.8. Avoiding Collisions
Section 8.9. Optimizing Shared Object Performance
Section 8.10. Broadcasting Remote Method Callswith send( )
Section 8.11. A Simple Video and Text Chat Application
Section 8.12. Conclusion

Chapter 9. Remote Methods
Section 9.1. Why Use Calls?
Section 9.2. The send( ) and call( ) Methods
Section 9.3. Client-to-Server Calls
Section 9.4. Server-to-Client Calls
Section 9.5. Server-to-Server Calls
Section 9.6. A Simple Lobby/Rooms Application
Section 9.7. Debugging Calls
Section 9.8. Advanced Topics
Section 9.9. Conclusion

Chapter 10. Server Management API
Section 10.1. Connecting to the Admin Service
Section 10.2. Using the Server Management API
Section 10.3. Server Management API Uses
Section 10.4. Conclusion
Chapter 11. Flash Remoting
Section 11.1. The Remoting Gateway
Section 11.2. Remoting Basics
Section 11.3. Role of Remoting in FlashCom Applications
Section 11.4. Securing Access
Section 11.5. Conclusion