
Without polling the server, an expensive operation, there isn’t a simple way send a Javascript client frequently updated server data. This is a problem if you want to make a multiuser game or chat application in Javascript. A post on ajaxian proposes a solution: Daniel Prieler’s jsSO library, which proxies real time communication between Javascript clients through Flash and an RTMP server:
The data-transfer and the connection to the server are maintained by a simple embedded Flashmovie in your page. The communication with other clients runs through the local Flashmovie and the Red5-Server.
The data-flow between two clients looks like this:
Javascript/jsSO <-> Flashmovie <-> Red5-Server <-> Flashmovie <-> Javascript/jsSO
Red5, by the way, is an open source implementation of Adobe’s Flash Server. It can be used to stream or record video, or provide low latency, event-based communication via remote shared objects.
Fast multiplayer Javascript games, here we come.
jsSO – Flash Shared Objects in Javascript [via ajaxian]
Red5
4 thoughts on “jsSO: Flash shared objects in Javascript”
Comments are closed.
I worked on a project a while back that used PUSH to communicate between the server and Javascript. The client would open an AJAX connection to the server that would stay open until there was new data to be had. It was by no means reliable, but when it worked – it worked.
… but ActionScript and JavaScript are both implementations of ECMAScript. The syntax is so similar that with the advent of the free Flex SDK tools, I don’t see a use case where JavaScript would be a better choice for an on-line game with a Flash-based server than a native Flash game client.
Still, a very cool feat… I guess I’m just looking for what the ideal use case is.