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
"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. =)
"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
"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
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.
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/
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.
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. 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 This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics
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...
|
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...
|
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...
|
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...
|
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...
|
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.
|
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
|
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...
|
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...
|
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...
|
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...
|
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...
|
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...
|
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...
|
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,...
|
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...
|
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...
|
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,...
| |