ActionScript 2.0 :: Communication Between Swfs Using LocalConnection
Dec 11, 2007
I have the following scenario: one swf has a series of buttons that send play commands to 10 other swfs in the same html page (no frames). After some googling I found out swf to swf communication is done via LocalConnection. ( [URL]
a) every example I found is passing text strings from one swf to the other (what is written in the form field in transmitter swf 1 is echoed at receiver swf 2. I don't want to pass text, just want transmitter swf 1 send a play action to receiver swf2 that is waiting stuck at a stop action. What is the syntax for this?
b) all examples also have one swf sending to only one other. how do I differentiate which one of my 10 receiving swfs actually performs the above play action?
I have a project that was done in AS2, and instead of porting it to AS3(no budget..)I created an AS3 "shell" for all new features to be loaded into, and am communicating between the as2 and as3 with localConnection. This works fine, but the problem is since I want the new content to appear to be part of the old, I need to 'float' the as3 swf over/above the as2 swf. I can do this no problem using divs and css, but as soon as I do, the localConnection fails to connect in either swf. Both the swfs function fine in this configuration, but no localConnection
I basically need to set up an interface in an html page with 3 different swfs in different spots of a table that need to communicate with eachother (basic stuff like going to certain frames within the targeted swf when a button is pressed, etc).
I'm pretty sure i've seen it done, but i can't seem to figure out what kind of approach i need to take. I'm guessing its going to take some javascript, but i'm not sure.
I want to ' import ' or ' download ' some SWF file into my main-swf file. I then want them to do a lot of communication back and forth. The best would be if I could just call functions from the new SWF file from my main-swf file, or the other way around. Do I use the loader class? And do I use the .parent.parent thing? Or is there a better solution?
I have some software developed where I have setup good communcation between some VB software and flash software. Communication is done locally via socket connection. I was hoping I could do the same except with two swfs. Who acts as the host? do I need a host?
I am currently in the process of developing an application with Flash/AS3. I have worked a lot with AS3 (FlashDevelop) before so I am rather familiar with it, however, since I won't be the one designing (nor the only one for that matter), and because it isn't a one day job, it is important to be able to get some structure in the project. So that we can have a "core" of AS3 that loads SWF-files and then does the interaction with the loaded SWFs, like providing information for fields and submitting the data, etc.
However, I've searched and I can't find any good up-to-date information on how to actually take care of the communication with the loaded SWFs. I found a lot of tutorials on it, but every single one ended up simply not working or being "depreciated" by the compiler because they were built for earlier versions of AS2/AS3 or Flash. (I found this promishing guide: [URL].. but that too ended up being depreciated) The only working piece of information I've found is LocalConnection, but it is really not well-suited for this, and from what I can tell a very complicated way to go about things.
So my question is how does one go about implementing the communication between AS3 and the loaded SWFs? Being able to dispatch events or call functions both ways is basically what I think is necessary.Or perhaps there are better ways to go about application development with Flash?
The first one (FLEX application) sends a message on a dedicated LocalConnection to a second one (Flash application). The Flash then answers by sending a message on another dedicated LocalConnection. This message is not directly received by the FLEX and the delay is at least 30s, up to 1 or 2 minutes! It seems the issue only occurs with Flash Player >= 10 and it never occurs with Chrome.
I didn't find anything on the web concerning a similar issue nor something in Flash Player release notes. Did someone already have this kind of problem?
By the way, is there any tool that can be used to sniffer LocalConnection communications?
Additional information:
swf are located in different frames swf are embed with swfobject I tried to delay the Flash sending, I tried to create another LocalConnection dedicated to this call but I always had same result: for all calls, the FLEX method is called after the same delay. I also put a timer in FLEX to periodically log to see if there is no background process delaying the method processing but everything seems fine
I have a relatively simple localConnection between three swfs: one swf is an image gallery; another swf controls the playback of the image gallery; and the third displays xml-driven captions from the image gallery.Everything works flawlessly in a PC environment, on all browsers, using AS 2, flash player 9. But when I test in a mac environment, the captions will display on load, but it will no longer show if you refresh the page; only a cache clear and refresh will bring it back, but the same issue will happen again. The navigation doesn't work at all, ever (though the swf is loaded and visible).
I have a Flash object on my site, which has this code:
this.ld = new LocalConnection(); this.ld.allowDomain("*"); ExternalInterface.call("alert", this.ld.domain);
It alerts my domain successfully. However, what I want is to access the HTML DOM through this using LocalConnection and not ExternalInterface directly.
I'm having a little issue with LocalConnection - trying to communicate from one SWF to another. From my main SWF I've loaded an external SWF of same dimensions ( effectively replacing the main SWF). What I wanted was then to re-load the main SWF, but rather than have the main SWF play from the start, I wanted to go to a specific frame instead (I used a frame label called "myMarker"). Thought LocalConnection was the way to go to achieve this. Gave it a shot and it all works well locally BUT when uploaded to server it doesn't work, but throws the following error:-
limits to number of SWFs that can establish local connection on MAC? The architecture is: One Manager ("server") and N number of other SWFs that communicate with the manager.When I embed more than 8 SWFs (manager + more than 7 dependents) and attempt to establish connection between them - only first 7 dependent swfs are capable to communicate with the manager on MAC (both Safary and FF). The rest are ignored. It doesn't seem to be an issue on PC where I went up to 20 and it worked (with some quirks of course). Is it a native behavior on MAC?
I did not check if number of connections is at stake (as opposed to number of swfs). There are 14 connections all together when 7 dependents are involved.
I'm having huge bug issues with LocalConnection that nobody seems to be able to find errors in my code/files. So... I'm looking for an alternative. I need a main swf file to load an external swf including the ability to have it move from one frame to another. If this isn't a possibility, I can also just have the main swf hide/reveal a div or just an image in the html.
i use LocalConnection between two swf in the same page.What i'm trying to do is to use a String sent from one swf to the other, as variable into my URLRequest...So i can trace "myVar" into the function chemin, but i didn't find how to use it into URLRequest
swf that receive the var :
var lc:LocalConnection=new LocalConnection(); lc.client=this; lc.connect("callBig");[code]....
I need dozens of AS2 Flash swfs I wrote to communicate with an AS3 swf. My code below is on the "wrapper" AS3 swf, which loads the lesson1_activity3.swf AS2 swf. This is then further nested into an Adobe Captivate-generated swf (that's what the rdcmndNextSlide method is for).
This configuration works the first time you see the wrapper/child swf together, but if you navigate back to the slide, the child swf doesn't load. I'm guessing that Captivate has all the objects still stored in memory, so it thinks I'm trying to declare var again, which I can't do. Is that it? Does anyone see the issue with my code that would make it work the first time the wrapper is loaded, but not subsequent times?
ere's what i'm doing and it doesn't seem to work, 1st movie, a button:
[AS] on (press) { function () {myLocalConnection = new LocalConnection(); myLocalConnection.send("Incoming", "onRecieve", MyID); myLocalConnection.close();}; [/AS]
where MyID is some variable
2nd movie, 1st frame:
[AS] myLocalConnection = new LocalConnection(); myLocalConnection.onRecieve = function(theID){ _root.test.gotoAndPlay(theID);}[code]...
now that doesn't work so i'm wondering what is wrong...
i've got 2 different .swf files on a html page, with 1 of e .swf being e menu and the other being the content_mc. I've been researching on localconnection but did not manage to find out how i could get e menu to send command to the content_mc to load the respective content upon being clicked (for example, when user click "services" in the menu, content_mc.swf will automatically be updated with the services content.
I have had some success using LocalConnection between SWFs.I can have a connection function between a preloader SWF and its child, and another connection work between two SWFs present on the same webpage......most of the time.
If I run my SWFs in a webpage from my localhost (ie my local testing PC) a particular LocalConnection will fail about 50% of the time. If the same SWFs are run on a remote server (ie the inernet) the LocalConnection works 100% of the time.SWF 'A' is sending to SWF 'B'Bizarrely, the LocalConnection going the other way, from SWF 'B' to SWF 'A' works 100%.
All the other LocalConnections I have used all work 100% of the time.I have tried adding a listener to the eventStatus which reports when the connection fails.I have also tried allowDomain(), although Im not sure it is neccessary since all the SWFs are hosted from the same domain anyway.Why should a LocalConnection behave differently depending on where the SWFs are hosted?
I have two SWFs happily sending messages back and forth to each other. I want to intercept those messages with a third SWF without editing the first two files at all.
I have a main fla file which loads an external swf into an empty movieclip on the main timeline which works fine but I want a button in the external swf to load another external swf into another empty movie clip on the main timeline.eg. start.swf loads UKEIAMap.swf into (empty movie clip within start.swf) MapLoader_mc then a button havant_b within UKEIAMap.swf needs to load HavantProjectSheet.swf into (empty movie clip within start.swf) ProjectSheetLoader_mc without unloading UKEIAMap.swf
I am loading eight external swfs by way of eight buttons with actionscript to remove the swfs and sound after a new button is clicked. This works fine except that as soon as you get to the frame where the actionscript is all the swfs load at one time on top of each other. I don't want any to load until the button is clicked for the right one. MouseEvent listener works but only after all the swfs have loaded. How do I get the swfs to load only when the buttons are clicked. I can't figure out what I am doing wrong.
I want to communicate with the LocalConnection framework of Flash via C#/Java/C++. My search for already implemented wrappers was not as successfull as I wish ;). There exist several servers (like FluorineFx) which support binding of C# objects to the LocalConnection. The problem is I am not looking for a server but only for a simple (marshalling of strings is enough) wrapper. After reading the AMF specification that implementing my own wrapper might take some time ;) which leads to my question: Does anybody knows a simple wrapper (C#/Java/C++) for the LocalConnection framework?
I was wondering is it possible to pass an array through the localConnection in flash? My local connects connect my flash application with the javascript and passes variables between them.
'm having trouble getting more than 1 swf to recieve a message from another swf file using localConnection() I have 2 instances of the same swf file loaded into different divs under different div ID's on a web page. I was then trying to get a different swf file, using localConnection to send a true/false command (determined via button rollover) to the other 2 swf instances, which would then simultaneously react to the message sent.However, at the moment, the first instance of the swf to be loaded into the web page is the only one that reacts the localConnection message being sent.