473,396 Members | 1,770 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,396 software developers and data experts.

Flash Remoting in Python?

Flash Remoting is a way for Flash applications to make "native" method
calls in Action Script to a server side program, using the AMF binary
format.

Flash has commercial versions of a Flash Remoting servers. There are
open-source alternatives for php, java, and perl. But alas, no
Python.

Does anyone have any interest in a project like this? It would be
port for the most part; the AMF format is already well known. In
addition, there is a lot of similarities between ActionScript objects
and native Python objects; porting between the two data types would
not be difficult.

Here are some links for info.

http://www.macromedia.com/software/flashremoting/

http://www.simonf.com/flap/ (perl)

http://www.openamf.org/ (java)

http://www.amfphp.org/ (php)

http://www.actionscript.com/archives/00000485.html (discussion about
python flash remoting)
Jul 18 '05 #1
9 4322
On Thursday 11 September 2003 03:57 pm, Randy wrote:
Flash Remoting is a way for Flash applications to make "native" method
calls in Action Script to a server side program, using the AMF binary
format.

Flash has commercial versions of a Flash Remoting servers. There are
open-source alternatives for php, java, and perl. But alas, no
Python.

Does anyone have any interest in a project like this?


I would be interested in using such a thing, as well as helping out a little.

I've had a need for it in the "normal" use case you mention but also to run
against a local server in order to enable stand-alone (non-browser,
non-network) applications that use Flash for the GUI.

-Dave

Jul 18 '05 #2
"Randy" <ra*****@randito.com> wrote in message
news:77*************************@posting.google.co m...
Does anyone have any interest in a project like this? It would be
port for the most part; the AMF format is already well known. In
addition, there is a lot of similarities between ActionScript objects
and native Python objects; porting between the two data types would
not be difficult.


I think it would be fantastic to have support for this in Python. In fact,
the only thing that's even made me consider using PHP lately is the AMFPHP
library. But be careful! Last time I checked, AMFPHP was not endorsed or
supported by Macromedia. This means a) it might not be legal, especially
with the DMCA and other such intrusions, b) Macromedia could change their
protocol anytime they want, causing everyone to have to reverse-engineer the
changes.

Another way to set up an RPC interface between Flash and Python would be to
use plain old HTTP GET/POST, with either urlencoded key-value pairs or WDDX
as a serialization format. (PyXML supports WDDX, as does PHP, as does Flash
if you Google around for the wddx.as script).

Cheers,
Dave

PS. Still a good idea for a project, though. =)
Jul 18 '05 #3
"Dave Benjamin" <da**@3dex.com> wrote in message
news:2E****************@news1.central.cox.net...
Another way to set up an RPC interface between Flash and Python would be to use plain old HTTP GET/POST, with either urlencoded key-value pairs or WDDX as a serialization format. (PyXML supports WDDX, as does PHP, as does Flash if you Google around for the wddx.as script).


Just FYI, you can find the ActionScript WDDX modules here:
http://chattyfig.figleaf.com/

And on the Python side, for starters, try getting this to work:
from xml.marshal import wddx
wddx.dumps('hello')

'<?xml version="1.0"?><!DOCTYPE wddxPacket SYSTEM
"wddx_0090.dtd"><wddxPacket
version="0.9"><header/><data><string>hello</string></data></wddxPacket>'

Dave

Jul 18 '05 #4
"Brett g Porter" <bg******@artlogic.com> wrote in message
news:E5********************@comcast.com...
We've been using this XML-RPC library for Flash
http://members.netmadeira.com/killer/xmlrpc/

...and have found that it serves our needs just fine.


Oh, sure, if you want to do it the logical, obvious way... ;)

I will note, however, that Flash's XML parser is slow, and WDDX is more
compact than XML-RPC (although it isn't, in itself, an RPC protocol, unlike
XML-RPC).

Dave
Jul 18 '05 #5
On Fri, 12 Sep 2003 01:01:41 GMT, Dave Benjamin <da**@3dex.com> wrote:
I will note, however, that Flash's XML parser is slow, and WDDX is more
compact than XML-RPC (although it isn't, in itself, an RPC protocol,
unlike XML-RPC).


God, is it ever slow. I'm working on a remote playlist editor (Flash
talking to Python XML-RPC), and when sending a list of ~1000 entities
across the wire, performance was increased nearly a hundred times simply
by sending one delimited string element instead of 1000 XML elements. Of
course, XML adds quite a bit of bloat, but all the time was consumed in
CPU, not on the wire.

On that note, I've been working on a rewrite of Pedro's ActionScript
XML-RPC library, doing automatic marshalling/unmarshalling, shortening
calls to the following:

rpc = new rpc('http://host/path/')
rpc.send(callbackFunc, 'method', arg1, arg2, arg3...)

instead of the rather verbose and repetitive arg/result formatting which I
found in the original library.

Contact me if you'd like to test it out -- I haven't performed any
regression testing on it yet, but I'm happily using it to pass arrays,
ints, dicts, and strings back and forth.

J.
Jul 18 '05 #6
In article <oprvc7dcpg5ctagx@shawnews>,
Jordan Krushen <jo****@krushen.com> wrote:
On Fri, 12 Sep 2003 01:01:41 GMT, Dave Benjamin <da**@3dex.com> wrote:
I will note, however, that Flash's XML parser is slow, and WDDX is more
compact than XML-RPC (although it isn't, in itself, an RPC protocol,
unlike XML-RPC).


God, is it ever slow.


Are you talking Flash 5 or the MX version, which moved the XML parser
into native code? (and given the strategic nature of this stuff, I
expect MX 2004 to make it even faster.)

I'm using a bit of XML remoting picking up brainwaves from a c++ server
program (and I have my own Python client and server versions as well).
(http://www.ibva.com)

Before anyone gets excited, it's proprietary and the client has already
refused one plea from me to make the comms layer an open source project.

--
Andy Dent BSc MACS AACM
OOFILE - Database, Reports, Graphs, GUI for c++ on Mac, Unix & Windows
PP2MFC - PowerPlant->MFC portability
http://www.oofile.com.au/
Jul 18 '05 #7
On Sat, 13 Sep 2003 16:48:21 +0800, Andy Dent <de**@oofile.com.au> wrote:
In article <oprvc7dcpg5ctagx@shawnews>,
Jordan Krushen <jo****@krushen.com> wrote:
God, is it ever slow.
Are you talking Flash 5 or the MX version, which moved the XML parser
into native code? (and given the strategic nature of this stuff, I
expect MX 2004 to make it even faster.)


MX. Granted, there's an XML-RPC library on top of it, but I stripped that
down quite a bit as well. Let's face it.. XML just adds horrible bloat,
both space- and CPU-wise for large lists of small items. Besides, I
easily solved the problem by sending one large delimited string instead of
an array of small strings.
I'm using a bit of XML remoting picking up brainwaves from a c++ server
program (and I have my own Python client and server versions as well).
(http://www.ibva.com)
Thanks for the link! I've always wondered where stuff like this hid on
the net.
Before anyone gets excited, it's proprietary and the client has already
refused one plea from me to make the comms layer an open source project.


I'm using standard XML-RPC for the moment, 'cause it's easy -- especially
on the Python side, and getting easier on the Flash side, as I rewrite
this library.

J.
Jul 18 '05 #8
On Sat, 13 Sep 2003 09:58:42 -0500, Skip Montanaro <sk**@pobox.com> wrote:
I will note, however, that Flash's XML parser is slow, and WDDX is
more compact than XML-RPC (although it isn't, in itself, an RPC
protocol, unlike XML-RPC).

Jordan> God, is it ever slow. I'm working on a remote playlist editor
Jordan> (Flash talking to Python XML-RPC), and when sending a list of
Jordan> ~1000 entities across the wire, performance was increased nearly
Jordan> a hundred times simply by sending one delimited string element
Jordan> instead of 1000 XML elements. Of course, XML adds quite a bit
Jordan> of bloat, but all the time was consumed in CPU, not on the wire.

Have you tried installing sgmlop, which pushes most of the XML parsing
into C?


It's the Flash side that's slow, not the Python one :) Python merrily
spits out an array of 1000 small items into XML-RPC in way under a
second. Unmarshalling it on the other end in Flash took noticeably
longer. I've taken to stripping the Flash XML-RPC library down to its
minimum, but it's still rather slow. The Python lib is more complete, and
written in Python, but it's still quite a bit faster than Flash.

J.

Jul 18 '05 #9
I will note, however, that Flash's XML parser is slow, and WDDX is
more compact than XML-RPC (although it isn't, in itself, an RPC
protocol, unlike XML-RPC).


Jordan> God, is it ever slow. I'm working on a remote playlist editor
Jordan> (Flash talking to Python XML-RPC), and when sending a list of
Jordan> ~1000 entities across the wire, performance was increased nearly
Jordan> a hundred times simply by sending one delimited string element
Jordan> instead of 1000 XML elements. Of course, XML adds quite a bit
Jordan> of bloat, but all the time was consumed in CPU, not on the wire.

Have you tried installing sgmlop, which pushes most of the XML parsing into
C?

http://www.pythonware.com/products/xml/sgmlop.htm

Skip

Jul 18 '05 #10

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
by: Uma Vivek | last post by:
Hi, I have a problem with Flash remoting via .NET . I seem to have all the code right, but flash does not seem to display the data at all. Here's is what Ive done so far... (1) Ive...
2
by: John | last post by:
Hi! I am creating a webservice that needs to communicate with the Flash component. I am creating the Flash component myself so can add any type of functionality to it. I need to know how can I...
0
by: Amir | last post by:
Hi every one i was wondering if any one knew if this was possible i want to create a login form in flash in asp.net i would like to use a flash moive inside asp.net webpage so imagin...
4
by: | last post by:
I am trying to work out a very simple way to get a Flash form to commmunicate with a .aspnet application that will somehow receive parameters from the flash file. Or, vice versa stream database...
3
by: markfoong | last post by:
Is there a way, where on a submit event, that a web form can send data over to flash? I know that in flash, you can do flash remoting, but that seems to be an event triggered by flash instead of...
4
by: Saber | last post by:
How can I connect Macromedia Flash MX and ASP.Net? For example passing variables from an ASP page to Flash.
3
by: Rafael Tejera | last post by:
Somebody has an example of asp.net (c# if possible) and Flash media server that can show me, or any article. Sincerely, Rafael
0
crabpot8
by: crabpot8 | last post by:
hey guys, sorry for the short notice but this is pretty time-sensitive. I am working on a video service that asks for local files from a host computer. what we have set up is a site with a flash...
0
by: Arnar | last post by:
Hi there, For people doing Python - Flash integrations: We are pleased to announce the first alpha version of PyAMF. PyAMF is a lightweight library that allows Flash and Python...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.