flash-media-serverrtmfpadobe-cirrus

What excectly is Cirrus server role in flash P2P connection


According to the article quoted below, if we want to use Cirrus for RTMFP connection it should stay connected for the whole communication period.

Cirrus service

Flash Player instances must connect to the Cirrus service (using rtmfp://p2p.rtmfp.net) in order to communicate with one another. Cirrus is a hosted rendezvous service that helps Flash Player instances contact one another even if they are located behind NATs. Although connecting to Cirrus service is very similar to connecting to Flash Media Server, Cirrus does not provide any of the typical Flash Media Server features (media relay, shared objects, remoting, etc.). Flash Player endpoints must stay connected to Cirrus during the entire time of communication . In order to access Cirrus, you will need a developer key that is generated when you create your Adobe Developer ID.

http://www.adobe.com/devnet/flashplayer/articles/rtmfp_cirrus_app.html

And I wonder why do we need to keep the server communication after the first NAT traversing hand shake?

What part does it take when a P2P connection between the clients is done?


Solution

  • Imagine you have various clients in a NetGroup and then one client suddenly disconnects. Due to the stateless nature of UDP, the other clients don't recognize the disconnect. This event is being handled and dispatched to the other clients by Cirrus. Furthermore, Cirrus handles the translation of peer IDs to network addresses. This must be done in the period in which clients are connected.