2010-05-03 22 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预输出服务器端的某个地方等待与匹配令牌的请求。您还需要一个清理机制,在超时时偶尔清除此映射/缓存。

您可以使用闪存分析器检查客户端上的内存使用情况。当您尝试加载数据时,您的内存使用总量是否会增加?