ActionScript 3.0 :: Flash P2P - Communication Between More Than 2 Clients
May 24, 2011
I'm doing some experiments with Adobe Cirrus. I've managed to connect 2 clients to each other. But what I want now is the following:
I want client A to publish and clients B and C to play A's stream. I've tried to do this. A starts publishing, B and C create receiving NetStream based on A's nearID. Unfortunately only latest connected to A client can play A's stream.
Can I build up visual communication just based on two flash client points? I mean a live video connection from a client side to another client side, without FMS.
If I hop online and look at it the files plays fine. If I look at it from my wife's computer it plays fine. I even called up 3 or 4 friends and it plays great for all of them. They are various computers and various internet connections. It plays fine for everyone BUT my client
I would like the clients to print what they are seeing at the moment with the flash program.How is this possible? That is why I said (print screen of program) because its actually printing what the person is seeing at the moment.The thing is that my program leads to certain places and combinations of photos.So I would like this functionality.
I am trying to connect 2 flash clients to a flash game, each client will control a object in the flash game.I am unsure of how I can connect those two clients to the central flash game, or what the best way would be to achieve the desired result.I am just trying to send commands from the flash clients to the flash game, but I am unsure of how to go about it.
I have Flex application - it connects to FMS and joins to NetGroup named "default".So I have for example 4 clients connected to the same server in the same group. And looks like not all clients are connected to each other! Client1 sees Client2's streams and messages but doesn't see others. Same for Client3 and 4. I know UDP must not be blocked in networks in order to P2P connections work, and this can be a reason why not all members of group see each other.My question is - if there any ways to make all clients see each other? For example - if no P2P connection can be established - connect client via Flash Media Server or some proxy?
Im creating MMO with flash but making it small at first.... I need to know the best way to code the characters.... I was thinking keeping all the data such as coordinates, inventory and cash all in MYSQL so the clients cant change the values in my flash client program. I was thinking of calling quires every few seconds which would eventually becomes thousands... what do you think is the best way about it?
BTW: Flash = Client Side PHP = Server MYSQL = DATA
I got serious issue while using adobe flash media server (I have media server streaming license). It doesn't allow flash clients to make stream's screenshot (with BitmapData.draw) because this is restricted from server side by default. I found that this trouble can be resolved my updating main.asc file but it seems like replacing main.far with mine main.asc causing error. Could you please help me with resolving this issue because it's extremely important to allow this screens making for user.I used CentOS 5.3 and FMS 4.0.1 r2009 (instaled in /opt/adobe/fms include Apache 2.2). All video is stored in a directory /opt/adobe/fms/applications/vod/media and I put the main.asc file in the directory /opt/adobe/fms/applications/vod/ from the directory /opt/adobe/fms/samples/applications/vod.
"I got a server telling Flash to load a movie, but I can't tell the movie how fast to play, or what frame to start on" Do you have an example of a Flash client loading an swf and accepting server commands; frame rate, start etc?
NEED FLASH CLIENT - data events - control loaded swf I've seen examples of a flash clients loading external swf files, but they don't control speed and duration.
Here's my XML. You can see what I'm trying to do. I don't know what type of methods or aurguments I would need in Flash.
I recently made a mp3 player in Flash. I have an aspx page that has the mp3 player in it as well as a .net button which is disabled on page load. The .net page tells the audio player waht file to play and the player plays. What is supposed to happen next is when the audio player reaches the end of the file the button on the aspx page is supposed to become enabled. I am not sure how to do this [have Flash tell the aspx page that it is done playing].
I am not any kind of network programming pro, but it happened that I have faced necessity to develop socket-server on php (no way for using Java) for flash multiplayer browser-game (standard features like locations, team battles, etc).
The main problem is that TCP is point-to-point protocol and it completely occupies given port.Of course it is possible to create some kind of queue, which will manage connections to the socket, but this solution doesn't seems to be the fittest one.
It seems to me that using interval of "fair" ports (from 2000 to 2200, for example) is more fitting solution, because one request may take a lot of time to execute and players won't be happy to wait in queue.
But how can I implement this "port inteval" strategy?The solutions that I see are:
launcing php-script per every port (he-he, 2 hundreds of launched scripts!);somehow forking the initial process to new processes (2 hundreds of processed? Not nice too), one for every port;additional while-loop, which listens all the ports (looks very bad);using threading or something like that (the problem is that php is single-threaded, as far as I know; pcntl?).But somehow I don't like any of them, or at least don't know how to implement them in the best possible way.
What is the best existing strategy to handle multiple requests from multiple users per time unit without delays, and how to implement this strategy in php? We have our own Debian-server, so it is possible to use any required php extensions.
For example, if we are trying to develop chat application, we need some sort of fixed (I mean persistent) connections for each user. For example, we have 80 users in chat, and then one of them posted a message, which server tries to handle and send to all other connected users, also putting an entry to the history file or something like that.
In this situation polling server for new messages every 10 seconds from each of 80 users is craziness, so the need in persistent connection gets obvious.But I don't know what is the best way to implement something like this, considering that not all requests are handled instanlty.
I'm trying to implement a basic WebView containing a SWF file inside. The SWF file plays and apparently works fine. However I'd like to know if there's some way to retrieve an ActionScript variable from my Cocoa application.
I'm communicating from a flash application using a command like the following: ExternalInterface.call("hello", "world") This is handled on the C# end by something like:
[Code]...
The axFlash_FlashCal is called fine, as long as there is a textbox on screen that's set to use TLF text. (any textbox will do, no specific ID). Without the textbox the even will not fire. (Even though ExternalInterface.Avaliable is set to true) I've tried using CS4 and CS5 to publish, using both Flash 10 and 9 as output.
I am having in issue with IE passing a string back into an swf using the EternalInterface class in Flash CS4.I have an swf with the following code: var externalString:String = ExternalInterface.call("IncomingJS")which is inside an event listener attached to an Event.ENTERFRAME and an if statement waiting for ExternalInterface.available. [code]I am able to successfully get the externalString variable and procceed with the rest of the AS3 script in Firefox, Safari and Chrome, but not in IE.If I add in an alert (stringFromHTML) before the return statement in the Javascript, I get the value of the stringFromHTML spammed, which looks like Flash is firing the function at the right rate[code]Unfortunately, the HTML code is actually working within a 3rd party HTML generator, and one of it's limitations is that I can only have a single line (with unlimited length) of html at a time.Are the other options (swfObject etc) able to run either with no line breaks in the code, or would I be asking for trouble with Javascript and the SWF to, instead of embedding the SWF directly, use something like an iFrame and refer to a 'proper' flash delpoyment html file?
I am trying to make connection between two datagrid in two separate windows.
Until now, I am able to create a datagrid in one FLEX browser window but got stuck furthur.
On some click event in one of 1st datagrid row-column field value, (i.e itemRenderer in form of button), I want to open a new window (using some LocalConnection or ExternalInterface.call) to open another window with the part of the original data grid.
Which method should I use - LocalConnection or ExternalInterface.call ?
How do I do this? Inside the parent swf myVar value is set by query string value loaded in by swfobject var myVar = _level0.part; // i have the value 123 here ..all good so far
[Code]...
Always childLog.text is undefined :( - so how to access the value of myvar from the child?
I am trying to play flash video on one computer and get a flash program (on another computer) to know what content is being played, so it can respond appropriately with related content.Has anyone got ideas on the best way to achieve this?I have tried using socket connections through a Java server with a policy file request, but after receiving delivery of the policy file as text over the socket, Flash won't reconnect to talk to the server. I can't figure out how to enable policy file logging either.
I am having a huge problem and need a fix or at least to be pointed in the right direction quickly. I am working on a massive flash project for which I have quite a large deadline tomorrow. I have 8 movie clips on my stage, and each of these clips has a number of entities which need to be loaded and changed by data from a database. These entities are all dynamic text boxes bar one thing: the name of the clip, the id of the clip, its internal colour, a question, and an answer to this question. I have already created a table using phpMyAdmin that is laid out like this:
name - number - colour - question - comment There are currently 2 rows in this table but there will eventually be 8 minimum as I am still largely in test mode. I found a tutorial for as2 (bare with me ), which shows me how to take a single source of data from a database and then parsing the xml generated inside of actionscript and add each item to a list. However, taking into account that I am a complete newbie when it comes to xml and php and mysql, I am very confused as to how I could access all these details using php, using the below php and as code as a template:
So flash invokes javascript functions using fscommand. Javascript can invoke flash commands using the ExternalInterface class . Is there any other way that javascript can invoke flash commands???
I have a flash interface that uses php to write/read vars.So if someone wants to hack our website all he has to do is look at the code and send some vars manually to the .php file. I've seen some encryption apps that claim to fully protect your swf but at the same time there are those who claim to decompile protected ones.Is there any better way to protect the php>flash communication?
I am having mainly 2 problems in Flash for some time and I need some clarifications on them.
1. Handling pages. How do I handle working with pages in Flash? Do I create a frame for each page and place the content of the page in that frame and when needing to go to a page I simply go to it's frame? Or do I use ActionScript to put and remove content from the stage and create every page in this way? What I mean by this is: if a page has a menu and a picture, I use ActionScript to put the menu and the picture there. If the next page has some text and a button, I use ActionScript to remove the menu and the picture from the last page and put the text and the button from the new page.
The first method seems simpler but that means that if the page has some content that needs to be loaded (a picture, for example), this content will need to be loaded every single time the page is opened.
The second method requires more work but is it more efficient ? When I remove the content from the page, do I move it to a negative x and y so that it cannot be seen or do I remove it completely and just load it again the next time the page is opened?
2. Handling a flow communication with PHP. I constantly need to communicate back and forth with PHP. I use a LoadVars variable to send data to PHP (using "POST") and I use an XML variable to retrieve data from PHP (I use the "sendAndLoad" method). The data sent by PHP is in an XML structure. The problem here is that I need to have different channels working. I need to receive several different types of data. Do I create a set of LoadVars and XML variables for each type of data that I need to receive or do I simply use only the one set and use an ID variable to specify with which type of data I am working at the moment ?
1. Handling pages.How do I handle working with pages in Flash ?Do I create a frame for each page and place the content of the page in that frame and when needing to go to a page I simply go to it's frame ?Or do I use ActionScript to put and remove content from the stage and create every page in this way ?What I mean by this is: if a page has a menu and a picture, I use ActionScript to put the menu and the picture there. If the next page has some text and a button, I use ActionScript to remove the menu and the picture from the last page and put the text and the button from the new page.
The first method seems simpler but that means that if the page has some content that needs to be loaded (a picture, for example), this content will need to be loaded every single time the page is opened.The second method requires more work but is it more efficient ? When I remove the content from the page, do I move it to a negative x and y so that it cannot be seen or do I remove it completely and just load it again the next time the page is opened ?Please explain to me, as detailed as possible, what do you think is the best method in working with pages.2. Handling a flow communication with PHP.I constantly need to communicate back and forth with PHP. I use a LoadVars variable to send data to PHP (using "POST") and I use an XML variable to retrieve data from PHP (I use the "sendAndLoad" method). The data sent by PHP is in an XML structure.
The problem here is that I need to have different channels working. I need to receive several different types of data.Do I create a set of LoadVars and XML variables for each type of data that I need to receive or do I simply use only the one set and use an ID variable to specify with which type of data I am working at the moment ?
With .net 3.0 offering Windows communication foundation, will flash 8 support it? WCF is suppose to be easier compared to .net remoting. I have a project at work where I might be doing some flash and saving the data to a db and i'm lookin on how I should do it. It will be several months from now before I do it and I'm looking at my options.
I need to invoke a dll/exe upon selection of controls in flash like checkboxes,radio buttons etc.. By getting the status of the controls I need to perform the actions in my aplication which is developed in VC++ and accordingly I should give responses to flash.