Tag Archives: AMF

AMF and RTMP libraries for node.js – Flash remoting with node.

I’ve been having fun playing with node.js over the past year, but have had little, or no excuse to use it in any production work, so I thought I’d set myself a challenge and build a module. That challenge was firstly to create a simple AMF gateway for Flash remoting, and secondarily to see if an RTMP socket server was achievable in node.

If you don’t know about “node” – It’s a JavaScript runtime that allows you to write socket servers. I like it a lot – it brings asynchronous, event-driven programming to the server side and provides a truly global variable scope across all connections. I’ll blog about it in more detail later, perhaps.

At Public we do a lot of Flash work, and regularly implement Flash remoting using a PHP AMF gateway. I wasn’t necessarily looking to replace this stock approach with node, but node offers proper socket connections that PHP can’t, so I was imagining the possibilities of using node as a free, and more flexible alternative to Flash Media Server. Not for streaming media, but for real-time messaging, for example in multi-player games. If I’m honest though, I did this mostly for fun, an academic exercise and as an excuse to work with node.

Continue reading…

Confessions of a control freak and an anecdote about AMF

If you haven’t read part 1, it’s there for the reading, and puts this post in context.

I figure the best place to start is where the title of this series comes from: I am a control freak; in life and so in code. This is not a very positive thing to say, but in terms of my personal skills development I feel it’s important. I don’t like things that just work; I have to know why.

There is a button on my washing machine that says “anti-crease“. This bugs the hell out of me: When would I not want this setting on? What’s the trade-off? If it creases my clothes less, then what is not doing? Is it cleaning them less?

Continue reading…

I’ve been doing a lot of research into the AMF protocol recently. I’ve had the pleasure of reading the AMF0, and AMF3 standards cover-to-cover several times, with a view to understanding them well enough to write my own debugging tools. More about those projects another time.

Not only are the standards fairly brief, but they contain errors. I’ve not managed to find an official errata, so here’s my starter for 10. Continue reading…