Flash Communication Server is the culmination of an evolution that eventually took Macromedia Flash from just a tool to create and distribute light weight graphics on the World Wide Web to a full fledged application platform. It along with the Flash authoring tool provided a rich development environment that can be used to make a number of compelling and useful applications with minimal development time and sans any exorbitant money investment unlike in the case of some other web applications with other technologies. Few of those include,
Data-on-demand and video applications with user-friendly interfaces that can include skinnable controls and closed captions. Customized interactive applications such as video conferences, web chat, and team meetings that make use of sharable components such as white boards, versioned text, and instant polls. Multiplayer games with audio and video, if required so. Flash Player and Flash Communication Server MX (FlashCom) supports an assortment of user interface objects - Menu bar, tree, combo box, Accordion, grid etc - as well and also a set of components that makes sharing video, audio, and data remarkably easier. The flash authoring tool can be used to generate - programmatically or manually - animations and vector graphics for interactive user interfaces that could present and update data including audio and video.
Coming to FlashCom exclusively from what it supports or not supports, it exists in the host machine much like any other server side software. But, it differs in its architecture, the major variance being in the fact that it maintains permanent connections from flash movies running in other systems rather than accepting a number of brief connections from the clients as in the case of a web server. More specifically, the flash movies playing in a flash player, in a given PC, could interact with other similar systems elsewhere on earth through the server using Macromedia's proprietary RTMP (Real-Time Messaging Protocol). Since the connection that exists between the systems involved is permanent, there won't be any need to maintain session information, and the connection exists until one or more of the users choose to disconnect themselves. In other words, the demand on the server side for optimal manipulation of resources is minimal with FlashCom.
The Flash Communication Servers sometimes may work by networking with one another, in which case, clients could actually communicate across servers. This robust design not only ensures load sharing, but also comes handy in supporting large-scale applications like live streaming to a host of thousands of PCs across the world, which otherwise may be linked to different servers at a time.
Now few words on RTMP; Flash communication servers uses RTMP, which in turn makes use of Transmission Control Protocol (TCP) for sending packets of data between the user system and the server. RTMP can transmit audio encoded in Nellymoser and MP3 formats, data encoded using Mac-romedia's Action Message Format (AMF), and video encoded in FLV (Flash Video format). However, if to compare RTMP with UDP that is used in most media servers, it is less quick than the latter, even though the latter is less reliable technically. In other words, in congested networks, RTMP slows down things than UDP based protocols, even though the performance is near the same on modern network infrastructures.
Tail Piece: RTMP prioritize data. Audio is given maximum priority and video the least. The importance of ActionScript lies in between.