ActionScript 3.0 :: Recent Socket Data Transfer Performance Decreased On Macintosh Systems?
Feb 1, 2012
I'm using a .swf to connect to a socket and stream data as fast as possible for 60 seconds to measure connectivity speed.In other words a speed test.In the past say month or two, I've found Macintosh systems 10.5 and higher experience a significant slow down, In testing I see my socket connect and reach about 2.5Mbps - 3.5Mbps and literally stick as though the .swf was throttling the connection.
This 'problem' is random and appears to come and go. I've tested this in Chrome,Firefox and Safari with all the same results.Using the exact same test on any Windows or Linux OS works totally fine.Admittedly I'm an ActionScript novice however the code I'm using is below and has worked for some time up until recently.
ActionScript Code:
var s:Socket;
var Tbytes:Number = 0;
function connectToSocket():void{
Is there some built-in limit to the rate at which flash.net.Socket can transfer data? When downloading from a server on localhost, I get a speed of about 5.8 MB/s consistently, while downloading directly from the server (outside of Flash Player) I can over 100 MB/s. Also, if I start two or more concurrent downloads, they all (individually) go at about the same 5.8 MB/s. The CPU use is under 100%. This program demonstrates the phenomenon. Running with NUM_DOWNLOADS = 1, I get
I googled it and found some old results like bubblemark.com, link text and link text. But is there any recent benchmarks as all the platforms have been updated. I like to measure the speed of silverlight 4 against the modern and faster javascript engines.
I have coded a program to accept several text fields in Flash and then transfer them (using a defined Class function, sendExample with sendPhp) and display them with a pfp form. When I run the swf from my pc it transfers the data correctly (the php file is on my hosted server.) However when I transfer the swf to the server (along with the class I defined to do the transfer), the php file is called but no data is transfered. What is missing from the server to make the data transfer complete? No errors, just a php page with no data inserted.
I am developing a VC++ application in which I need to play SWF files. In my SWF file there are some integer values, which I need to fetch to my VC++ application. I am using the flash.ocx activex control in the application. Also I need to call some functions (in the SWF AS2) from the application.
I have a project where i need to transfer the data from swf to javascript, and vice versa, i using flash cs4 and action script 3.0 i can transfer data from AS to JS without any problem but the other way around doesn't seems to be working i have been trying this from a long time, i even used exact same code from adobe externaInterface example there seems to be some problem.
all i want is to transfer data from JS to AS dynamically.
It's not exactly that, but it works the same way. It's about a login form with Flash and PHP. It must send data (username and password) to PHP, PHP has to check for a record in MySQL and then to return data to Flash. How does it works and how to return the data to Flash?
This is not something new I'm sure and a lot of people have found or are looking for a solution for stablishing an encrypted data transfer between flash and php but the wiered thing is that there are few resources when I try googling about this so, all I'm trying to achive is to encrypt data in flash with a key or something (I don't want to build my own algorithm, I'd like to use some standard ones like MD5) and then send the data out to a PHP file and after the php read the data it will also encrypt and send the results back to flash...
I was happy and downloaded the as3crypto class from google code... installed and ran it and it worked for the first tests... then when I tried using that method in my project I noticed that the encrypted data being sent from PHP to flash, sometimes does not work! again I searched and found out that some other people are also having the same problem and are saying that this as3crypto does not work well with sending data to php!!!I'm out of time and out of mind so what should I do if I want my data sent to php and vice versa to be encrypted? or maybe I'm using that as3crypto thing in a wrong way?! I did exactly as described in the above sample blog.
I am struggling with the following situation. An addToCart button adds an item to the PayPal cart with the code below, which does work, but has the result that the visitor is directed to the PayPal site during the shopping process. The transfer of the data should however happen in the background and the visitor should only be directed to the PayPal site when the view cart option is clicked. Is there any other way to transfer the data than having to navigate to the PayPal Site?[code]...
I've read some books on creating stateless websites, I've read some about stateful client applications, but a lot of complexity comes along when you have to combine both. We have a Flex application that needs to persist data to a database via .NET services. Things to keep in mind are:
- Concurrency (optimistic/pessimistic)
- Performance: Flex needs to load in lots of data so lazy-loading is often necessary.
- Do you use Dto's to transfer data between server and client?
I'll tell you the history of our product. We've used SubSonic from the beginning as a o/r mapper. SubSonic objects are converted to dto's written by us and these dto's are transferred to the client. Clientside the dto's are converted to the domain model. If clientside a domain model object needs to be saved, it is converted back to a dto and send to the server. Server side the dto is converted to a subsonic object and saved to the database.
Now, some time ago, we needed the domain model on the .NET server side... so now we have like three models on the server side, the subsonic model, the dto model and the domain model. The dto model is more simple and resembles the database more, the domain model has much more logic. It gets complex... We now have to synchronize the AS3 domain model code with the C# domain model code. If we could do it again (of get time to refactor) I think we wouldn't use the dto's anymore, but transfer the domain model between client and server. Dto's are simple objects so easy to transfer. Domain model objects can be very complex.
I need to transfer data from a flash application running in a browser to a server running php. If I use an https connection will that be enough to ensure that the data sent from flash to the server is encrypted and sensitive data can't be sniffed, or do I need to do encryption in my flash application itself?
i have a problem with flash maybe i have an online exchange table which loaded in a flash page when i import the exchange swf in a flash page on ftp it cant get the datas from php but when i open the exchange swf independently in ftp it get the datas from php and it works
I know there are a lot of topics already on this. I have read (hundreds of) them and I'd still like your input.
If I have a flash UI that takes user input and passes it to PHP; is this secure? I have read that, yes, this is okay. I have also read that no, you need to encrypt the data, by say hashing it before sending to PHP. OK, easy, I do this already but.....
In my case I have the data/password stored (when the user inputs it, not in the swf of course) and sent every time I want to access any PHP (using AMFPHP). The PHP check this password each time and only runs if it gets the correct password. So in this case if I hash the password, it makes no difference, it just changes what the password is rather than providing any actual security (well maybe minimal because it's less recognizable).
So can someone extract a password that is sent from flash to PHP?
However, no matter what I do I can't seem to get data from my components to a PHP file on my server.Ultimately,I am making a flash form that will submit the form data to the PHP script and make entries into a mySQL database.Before I do that, though, I thought I'd first just try to see if I could get data processed in PHP.So,I created a simple PHP file that simply displays the data on the screen, and I made a single-button flash movie that has some actionscript in it.Here is the code for the PHP file:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />[code]....
And here is the code for the actionscript I have in my button:
on (click)[code]....
I'd like to note that my actionscript is a direct copy/paste from the Adobe online reference for actionscript 2 (with a change to the php path, of course).I upload everything and visit the page with the flash button in it.When I click the button, I am taken to the .php page as expected, but the only thing I get on my screen is "...and that's all I've got."
firstName, lastName, and age never get processed.Eventually, I'll be wanting to send data from form components.But as a first step, I can't even get this working correctly. Does anyone have any insight?I'm using Macromedia Flash 8 (I'd love to upgrade, but Adobe won't let me since it's part of a suite...and I don't want to upgrade the whole suite.
I've got a html login form with a flash submit button in it. How can I transfer form fields' data into the flash movie so I could proceed with my login routine?
I have a byteArray of recorded sound.But how can I transfer the ByteArray data back to a real Sound object?I know that I can pass the ByteArray to an SampleDataEvent.SAMPLE_DATA listener , but that way I would have to keep the raw ByteArray and pass it every time the sound plays.
Basically I have a sales presentation showing on a screen in various offices where I work. These show daily sales figures that can change as and when somebody makes a sale. I have an swf loading data from an XML file into slides and everything works great apart from if the XML file changes at the moment I need to force a refresh (manually). I'd like to make it so that if the file changes it automatically reflects in the swf. So far my research has pointed me to AS3 Socket Communication but I haven't been sucessful in finding a relevant tutorial.My code is below,
I'm trying to build a minimum payment calculator and am having a problem with the minimum payment not being able to calculate based on the current monthly value. What I think should work...locks up the browser. I've commented out the line that is giving me a problem in the code below.
I am trying to communicate using this protocol. It works fine except when the socket has a lot of data to return. Right now I am checking if a packet ends with to determine if I have received all the packages. Problem is that sometimes a package can end with as a line break even if it is not the last package, so I can not use that.
I am using a command queue, because I want to wait for a complete response before sending the next command.
The code with unnecessary stuff removed:
class CustomSocket extends Socket { private var _response:String; private var _commandQueue:Array;
[Code]....
The problem is in the function readResponse. I've googled a lot without finding anything of interest.
Is there a way to know the total amount of bytes/packets a socket will return? Or a way to detect EOF or that a package is the last?
I have a custom socket class designed to connect to a server and talk with it. At one point, the server uses hex data for speed, however Flash seems to not get ANY of this data. In fact, it doesn't get ANY of the data from that point to the next packet.
have created a contact form that sends 3 lots of data (name, email and message) to my email address. here is my code for my flash form which looks right
Basically what is happening is that my Flash client claims that it is calling functions that don't arrive at the server or they arrive, but the socket data is out of order and therefore is garbled.In particular, there's class I have called RPCSocket that extends the AS3 Socket class so I can serialize data structures before sending them across a socket.At one point, this RPCSocket class calls super.writeBytes and super.Flush. It is the point at which I send all data out of my client. The data is binary data in AMF3 format.[code]Can someone recommend a way for me to store without corruption, conversion, or filtering or translation of any kind *all* of the information sent across this socket? I'd like to write it to a file. I'm guessing that keep a global ByteArray var and storing the info there might work, but I'm wondering how I might get the contents of that ByteArray into a file so I can inspect it.Also, I'm wondering if I might be able to inspect what flash actually sends out on the socket? I have a sneaking suspicion that data I supply to super.writeBytes may be sent out of order or may not actually get sent across the socket. This bug I'm talking about only seems to happen under high-stress situations when I'm sending dozens of messages per second across this one socket.
asically what is happening is that my Flash client claims that it is calling functions that don't arrive at the server -- or they arrive, but the socket data is out of order and therefore is garbled. I've stared at the source code for hours and tried a lot of trial-and-error type stuff and added trace statements to see if I can find the problem and I'm not having any luck.
In particular, there's class I have called RPCSocket that extends the AS3 Socket class so I can serialize data structures before sending them across a socket. At one point, this RPCSocket class calls super.writeBytes and super.Flush. It is the point at which I send all data out of my client. The data is binary data in AMF3 format.
public function executeRPC(serviceName:String, methodName:String, methodParams:Array):void { if (!this.connected) { log.write('RPCSocket.executeRPC failed. ' + methodName + ' attempted on service ' + serviceName + ' while not connected', Log.HIGH); throw new Error('RPCSocket.executeRPC failed. ' + methodName + ' attempted on service ' +
[code]....
Can someone recommend a way for me to store without corruption, conversion, or filtering or translation of any kind *all* of the information sent across this socket? I'd like to write it to a file. I'm guessing that keep a global ByteArray var and storing the info there might work, but I'm wondering how I might get the contents of that ByteArray into a file so I can inspect it.
Also, I'm wondering if I might be able to inspect what flash actually sends out on the socket? I have a sneaking suspicion that data I supply to super.writeBytes may be sent out of order or may not actually get sent across the socket. This bug I'm talking about only seems to happen under high-stress situations when I'm sending dozens of messages per second across this one socket.
Looking for some recommendations on tools that can be used independent of the source (that is just on the swf) to check for Frames Per Second, total size and how often the movie loops.
I'm developing an application using Flas Builder / Flex for Adobe Air. This application will be processing a large set of static text (100 - 200 MB) using a variable set of processing instructions.The target platforms will be iOS, Android and Desktop.The data set can be either one large XML file or broken into a bunch of XML files about 3MB each.This will be decided at design time.From your experience would it be better to store the text in an Adode Air database or a set of XML files for best performance (including speed and battery life)?What other considerations should I take into account?
I'm trying to make a barebones, simple flash client communicate ANYTHING to a server over a regular socket. I setup the listeners:
socket = new Socket(); socket.addEventListener(Event.CLOSE, closed); socket.addEventListener (DataEvent.DATA, onSocketData);
[code]...
And then I connect. On the server side I have a simple policy server on port 843.And then the real socket server that the flash client is connecting to.The flash client connects to the policy server and gets the policy. The flash client then connects to the actual socket server. I know this because I can both see it when snooping the network traffic and the fact that the Event.CONNECT fires off. From snooping the network traffic I can see the flash client send data TO the server when it:
socket.writeUTFBytes( "TEST CLIENT ");
From the server app I can see the data the client sent. The server then returns a little data. I can see this data going from the server to the client in the network traffic snooper. However, the client NEVER sees the data. It never fires off DataEvent.DATA or ProgressEvent.PROGRESS or ProgressEvent.SOCKET_DATA. There are no errors and the connection remains open for as long as I want it... but the flash client never seems to see the data... no matter how much I send.
Over and over I read online that the data sent to the flash socket needs to be terminated with a � zero byte. I can verify it is in the network traffic snoop.if I try to read any data from the flash app via something like readUTFBytes it always returns nothing found.