Hi everyone,
I was wondering if the AMF format would increase transfer speed of data, but my findings are the complete opposite.
My results are that AMFPHP averages:
AMFPHP:
Average = 233.33
Regular URLLoader:
Average = 223.78
Here is the quick test I wrote up to check.
package {
import flash.display.Sprite;
import flash.events.Event;
import flash.net.NetConnection;
import flash.net.Responder;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.utils.getTimer;
public class Test extends Sprite
{
private var responder:Responder;
private var connection:NetConnection;
private var startTime:int;
private var total:int;
private var timesRan:int;
public function Test()
{
responder = new Responder(onResult,onFault);
connection = new NetConnection();
// Just comment one of the following out
connection.connect("URL GATEWAY WENT HERE"); sendData();
//sendData2()
}
public function sendData2(e:Event =null):void
{
timesRan++;
if (timesRan == 100)
{
done();
return;
}
startTime = getTimer();
var urlLoader:URLLoader = new URLLoader();
urlLoader.load(new URLRequest("PHPPAGEA"));
urlLoader.addEventListener(Event.COMPLETE,onResult2);
}
public function sendData(e:Event=null):void
{
timesRan++;
if (timesRan == 100)
{
done();
return;
}
startTime = getTimer();
connection.call("HelloWorld.say", responder,"Test");
}
public function done(e:Event=null):void
{
trace("Average = "+(total/100));
}
private function onResult(result:Object):void
{
var endTime:int = getTimer()-startTime;
total+=endTime;
trace("Time taken = "+endTime);
sendData();
}
private function onResult2(result:Object):void
{
var endTime:int = getTimer()-startTime;
total+=endTime;
trace("Time taken = "+endTime);
sendData2();
}
private function onFault(fault:Object):void
{
trace("Error: "+String(fault.description));
}
}
}
Can anyone verify my code? Maybe I made a mistake?