2014-02-18 85 views
0

由於我用於我的程序的後端限制,我正在開發一個項目並且遇到了一些問題。通過URLLoader(AS3)確定數據大小

首先我的問題是「我可以通過URLLoader測量文本的數據大小嗎?」。

我正在製作一個接收和發送公平比特數據所需的應用程序,但是我使用的後端僅限於一次只能發送1024個數據。

後臺被稱爲'Scoreoid',它對遊戲和用戶管理等非常有用,但我用了一點不同的方式。

所有的一方,我的問題是,我通過一個數組發送數據,我可以很容易地分解數組併發送多個事務......但有沒有辦法測量大小的數據?

這樣我就可以確定一次可以發送多少數組。

下面是他們提供的代碼:

function getGame():void 
{ 

var url:String = "API URL"; 
var request:URLRequest = new URLRequest(url); 
var requestVars:URLVariables = new URLVariables(); 
request.data = requestVars; 
requestVars.api_key = "YOUR API KEY"; 
requestVars.game_id = "YOUR GAME ID"; 
requestVars.response ="XML" 
    requestVars.username ="Players Username" 
    requestVars.key ="Your Key" 
    requestVars.value ="Key Value" 
    request.method = URLRequestMethod.POST; 

var urlLoader:URLLoader = new URLLoader(); 
    urlLoader = new URLLoader(); 
    urlLoader.dataFormat = URLLoaderDataFormat.TEXT; 
    urlLoader.addEventListener(Event.COMPLETE, loaderCompleteHandler); 

    urlLoader.load(request); 
} 


function loaderCompleteHandler(event:Event):void 
{ 
trace("responseVars: " + event.target.data); 
} 
+0

是那個動作? – Leo

+0

是的,對不起,我剛回來記下這一點。它是AS3 –

回答

1

URLLoader類有屬性bytesTotal。你應該能夠通過它來確定數據的大小。

function loaderCompleteHandler(event:Event):void 
{ 
    trace("responseVars: " + event.target.data); 
    trace("size: " + URLLoader(event.target).bytesTotal); 
} 
+0

但是,只有在接收數據時才起作用。我正在嘗試發送數據。大小報告爲0 –

+0

我明白了。對不起,我從描述中不清楚。無論如何,恐怕'URLLoader'不提供這種方法。如果我理解正確,您需要測量通過'URLVariables'發送的數據? –