How to make P2P apps without a server? RTFM... no RTMFP.
Jul. 1, 2011•0 likes•5,750 views
Download to read offline
Report
Technology
The talk I gave at the Chicago Flex User Group on June 15th. The talk was on the Real Time Media Flow Protocol (RTMFP), and how it can be used to make Peer to Peer networks without a server.
Read the frelling manual? No Real Time Media Flow Protocol
Worked for various companies doing flash and web work. Motorola Eastman Chemical MLB Showtime Any questions?
Hand out paper. Questions Frustrations Expectations What do you expect in this talk? Throw Open one
Not RMFTP, I keep calling it that. RTMFP uses the same NetConnection that RTMP uses. So if you've used RTMP before, a lot of this will be similar. Amicia was bought by Adobe, before 2008, and the creators as far as I know, still work at Adobe. Open a paper
Uses Flash Media Server to facilitate P2P connections. As of 10.1 serverless P2P We'll be talking about the server-less version of this technology.
Why are we talking about this? When the technology was developed, mobile wasn't nearly as powerful or prevalent as it is today. Flash being on mobile opens up a whole range of applications. Local/Live communications Multiplayer games Social Networking apps Multicast video? It's possible with FMS and RTMFP, but not sure about serverless More
UDP sits on top of TCP Doesn't require all the packets arrive in order, or arrive at all LL because it doesn't have to arrive in order, or be ordered later P2P reduces server loads, since peers will send to each other.
Standard RTMP is a one to many relationship. Many clients, one server. Video example – each client connecting, new stream, heavy load on server RTMFP is a many to many relationship. If using a server, the server facilitates the initial P2P connection.
Full peer to peer RTMFP allows individual clients to connect over UDP and talk with each other. No server needed All clients listen for and send their own messages.
When RTMFP was developed, it's creators built security into it. As they say, it's 2006, everything should have security on the web.
As developers Couldn't find any documentation on this, but believe that it's related to the anti-DOS protection. All messages must be unique. You can send simple String messages, but why? You can send whole typed objects. NAT translation, only with a server
Not all local networks will allow UDP packets, or will restrict them. As before, as an anti-DOS protection, all messages must be unique. If you need all the packets, then you won't be able to use this. If you need them in order, you won't be able to use this, kind of. Peer tracking Peer disconnects, never get message Peer disconnects, never sends message
Talk to your sys admin, or try another network. Add on a unique id to all messages Makes things bigger Gets around the built in protection for DOS Nothing you can do about loss, prepare for it. If you need them in order, you will need to order them on the client. Peer tracking - Heartbeat
Distribute app, and go over some of the last few slides again.