This is an interesting topic. I'll be following it!
I know it is possible but haven't had the time to figure it out myself.
Something to get you started though:
If you have a service, you'll probably have a sercises-config.xml file in your app folder with a channel defined in it. It is possible to enable polling with the server so that the server can 'push' data to all clients.
edit: letting your app contact the server each 5 secs or so is not so bad either. I did this in the past in some applications without even noticing any delay!
You should however make clever queries on your server side to not waste a lot of time there.
In addition to my post... I've been advised to use ExternalInterface, it can be usefull when passing data from swf to html/js and back, but...
Firstly, I've got php file which manages the data, and secondly... what about AIR application, if I decide to develop desktop app, there will be no html and java script available !! ... so problem remains :-(
you don't need to exchange data between html and swf! The connection is made through your service channel and a service (PHP) on your server. From within an air application, this is perfectly possible also!
I've heard you can use the open source AMFPHP to implement server push to a Flex app.
If this post answers your question or helps, please mark it as such.
Greg Lafrance - Flex 2 and 3 ACE certified
Flex / AIR Development, Training, and Support Services
You can do server-side push through a custom method (with URLLoader and progress events), through Granite DS Gravity, through Blaze DS (I believe), or through FMS streaming (if you've got the big bucks). We use the first approach (essentially a Flash implementation of Comet which can leverage AMF encoding) and other than the HTTP RFC connection limit (older browsers give you only two outstanding connections to the same host, newer ones six to eight), it works well.
Also, don't dismiss polling. As has been pointed out, it can be a very reasonable approach if you're fine with updates every 5 or more seconds, rather than "immediate" results.