| |
| |
Foreword | |
| |
| |
Preface | |
| |
| |
| |
FlashCom Foundation | |
| |
| |
| |
Introducing the Flash Communication Server | |
| |
| |
Clients and Servers | |
| |
| |
Creating an Application | |
| |
| |
Real-Time Messaging Protocol | |
| |
| |
The Communication Classes | |
| |
| |
Communicating with Application Servers, Databases, and Directory Servers | |
| |
| |
Firewalls and Security | |
| |
| |
Getting Started | |
| |
| |
Hello Video! | |
| |
| |
Conclusion | |
| |
| |
| |
Communication Components | |
| |
| |
Overview of Communication Components | |
| |
| |
Summary of Communication Components | |
| |
| |
Creating an Application that Monitors a Connection | |
| |
| |
Building a Simple Chat Room | |
| |
| |
Adding Audio and Video to the Chat Room | |
| |
| |
Forgoing the SimpleConnect Component | |
| |
| |
Conclusion | |
| |
| |
| |
Managing Connections | |
| |
| |
Making a Connection | |
| |
| |
Managing a Connection | |
| |
| |
Reusing a NetConnection Object | |
| |
| |
Multiple Simultaneous NetConnection Objects | |
| |
| |
Testing and Debugging Network Connections | |
| |
| |
Subclassing the NetConnection Class | |
| |
| |
Communication Components Without SimpleConnect | |
| |
| |
Conclusion | |
| |
| |
| |
Applications, Instances, and Server-Side ActionScript | |
| |
| |
Scripting Application Instances | |
| |
| |
Differences Between Flash ActionScript and Server-Side ActionScript | |
| |
| |
The Life of an Application Instance | |
| |
| |
Running a Simple Hello World Test Script | |
| |
| |
A More Realistic Example | |
| |
| |
Instance-to-Instance Communications | |
| |
| |
Script Filenames and Locations in Detail | |
| |
| |
Testing and Debugging Server-Side Script Files | |
| |
| |
Designing Communication Applications | |
| |
| |
Conclusion | |
| |
| |
| |
Audio, Video, and Data Streams | |
| |
| |
| |
Managing Streams | |
| |
| |
A Simple Publisher/Subscriber Example | |
| |
| |
Stream Names | |
| |
| |
Publishing Streams in Detail | |
| |
| |
Playing Streams in Detail | |
| |
| |
The Stream Class | |
| |
| |
Publishing and Playing ActionScript Data | |
| |
| |
Creating Synchronized Presentations | |
| |
| |
The NetStream and Stream Information Objects | |
| |
| |
Stream Enhancements and Limitations | |
| |
| |
Conclusion | |
| |
| |
| |
Microphone and Camera | |
| |
| |
Working with Microphone/Audio Input | |
| |
| |
Working with Camera Input | |
| |
| |
Building a Message-Taking Application | |
| |
| |
Building a Surveillance Application | |
| |
| |
Conclusion | |
| |
| |
| |
Media Preparation and Delivery | |
| |
| |
Audio and Video Compression | |
| |
| |
Converting Prerecorded Material to FLV Format | |
| |
| |
Using Flash Pro's Media Components | |
| |
| |
Enabling Multiple Bit Rate FLVs Within an Application | |
| |
| |
Streaming MP3 Audio | |
| |
| |
Conclusion | |
| |
| |
| |
Remote Connectivity and Communication | |
| |
| |
| |
Shared Objects | |
| |
| |
Objects and Shared Objects | |
| |
| |
Getting a Shared Object in Flash | |
| |
| |
Updates and Frame Rates | |
| |
| |
Scripting Shared Objects on the Server | |
| |
| |
Temporary and Persistent Shared Objects | |
| |
| |
Proxied Shared Objects | |
| |
| |
Shared Objects and Custom Classes | |
| |
| |
Avoiding Collisions | |
| |
| |
Optimizing Shared Object Performance | |
| |
| |
Broadcasting Remote Method Calls with send() | |
| |
| |
A Simple Video and Text Chat Application | |
| |
| |
Conclusion | |
| |
| |
| |
Remote Methods | |
| |
| |
Why Use Calls? | |
| |
| |
The send() and call() Methods | |
| |
| |
Client-to-Server Calls | |
| |
| |
Server-to-Client Calls | |
| |
| |
Server-to-Server Calls | |
| |
| |
A Simple Lobby/Rooms Application | |
| |
| |
Debugging Calls | |
| |
| |
Advanced Topics | |
| |
| |
Conclusion | |
| |
| |
| |
Server Management API | |
| |
| |
Connecting to the Admin Service | |
| |
| |
Using the Server Management API | |
| |
| |
Server Management API Uses | |
| |
| |
Conclusion | |
| |
| |
| |
Flash Remoting | |
| |
| |
The Remoting Gateway | |
| |
| |
Remoting Basics | |
| |
| |
Role of Remoting in FlashCom Applications | |
| |
| |
Securing Access | |
| |
| |
Conclusion | |
| |
| |
| |
ColdFusion MX and FlashCom | |
| |
| |
Understanding ColdFusion MX and Flash Remoting | |
| |
| |
Using Flash Remoting to Log Events | |
| |
| |
Getting a List of Streams | |
| |
| |
Using ColdFusion and FTP to Mirror Streams | |
| |
| |
Conclusion | |
| |
| |
| |
Design and Deployment | |
| |
| |
| |
Building Communication Components | |
| |
| |
Source Files | |
| |
| |
People Lists | |
| |
| |
A Simple People List | |
| |
| |
Listenable Shared Objects | |
| |
| |
Status and People List | |
| |
| |
Text Chat | |
| |
| |
Shared Text | |
| |
| |
Video Conference and Video Window | |
| |
| |
PeopleGrid | |
| |
| |
Summary | |
| |
| |
Conclusion | |
| |
| |
| |
Understanding the Macromedia Component Framework | |
| |
| |
The Component Framework | |
| |
| |
Under the Hood of the Chat Component | |
| |
| |
Creating a Simple Component from Scratch: Shared TextInput | |
| |
| |
Creating a Container Component: SharedAddressForm | |
| |
| |
Creating an Authenticating Component | |
| |
| |
Integrating Components with Your Existing Applications | |
| |
| |
Understanding the Framework | |
| |
| |
Conclusion | |
| |
| |
| |
Application Design Patterns and Best Practices | |
| |
| |
Shared Object Management | |
| |
| |
Moving Code to the Server | |
| |
| |
Building Facades on the Server | |
| |
| |
Server-Side Client Queues | |
| |
| |
A Framework for Recording and Playing Back Componentized Applications | |
| |
| |
Components and Component Frameworks | |
| |
| |
Conclusion | |
| |
| |
| |
Building Scalable Applications | |
| |
| |
Coordinating Instances | |
| |
| |
Scalability and Load Balancing | |
| |
| |
Conclusion | |
| |
| |
| |
Network Performance, Latency, and Concurrency | |
| |
| |
Latency | |
| |
| |
Bandwidth | |
| |
| |
Concurrency | |
| |
| |
Conclusion | |
| |
| |
| |
Securing Applications | |
| |
| |
The Three A's: Authentication, Authorization, and Accounting | |
| |
| |
Authentication | |
| |
| |
Authorization | |
| |
| |
Accounting | |
| |
| |
Suggestions and References | |
| |
| |
Conclusion | |
| |
| |
About the Authors | |
| |
| |
Index | |