2010-05-03 59 views
1

我有一個Flex程序從PHP腳本獲取JSON數組。 PHP腳本不包含簡單的JSON數組,但是它從Activecollab獲取數據並在編碼數據之前對數據進行一些處理。靈活URLRequest超時

第一個測試涉及小JSON陣列花了很短的時間通過PHP編碼。但是,當我嘗試擴展測試時,Flash電影將嘗試從PHP加載JSON數據時崩潰。測試之間沒有代碼差異,只是數據量和PHP需要花費的時間。我是在看內存問題還是暫停問題?

PS:當我調用Firefox中的PHP腳本,它不超時,則仍然會返回一個JSON陣列。它只是花了一段時間才能返回數組。

+0

OK,我嘗試使用的HTTPService和使用的0將requestTimeout我仍然得到2032 IO錯誤,儘管事實上我可以通過引導法國法郎和IE瀏覽器有問題的URL讀取JSON輸出它改寫。我完全失去了這一個。 – MooCow 2010-05-04 18:47:51

回答

0

我假設在瀏覽器中打你的PHP服務不超時。如果是這樣,那麼你需要改變你的PHP設置,以允許腳本執行更長時間。

否則,你完全可以這樣嘗試了不同的策略:有柔性打電話給你的PHP服務,並告訴它開始數據處理,有你的PHP服務返回一個令牌ID彎曲使用輪詢。讓另一個php服務跟蹤處理進度(接收跟蹤作業的令牌)。這個第二個服務將返回一個包含每個請求的進度報告,直到處理完成。處理完成後,它會在下一個請求中返回數據。

讓PHP產生用於跟蹤「工作」,以便Flex輪詢,當工作完成檢索數據的ID。這至少可以消除Flex在服務器端處理時處理的等待時間。

當然,你需要存儲您的preocessed預輸出服務器端的某個地方等待與匹配令牌的請求。您還需要一個清理機制,在超時時偶爾清除此映射/緩存。

您可以使用閃存分析器檢查客戶端上的內存使用情況。當您嘗試加載數據時,您的內存使用總量是否會增加?