2010-02-06 57 views
10

最近两天我们一直在解决这个问题几个小时,以找出发生了什么,我们无法找到任何线索。 以下是发生了什么;我们有一个允许人们下订单的Flash应用程序。用户配置产品,该产品的图像由Flash即时生成并呈现给用户。满意后,他们可以向服务器发送订单。图像的字节数组和其他一些变量会发送到处理订单的服务器,并生成一个PDF,其中包含订单和产品图像的摘要。订单脚本然后将所有内容发送回浏览器。向Flash中的PHP文件请求在Safari中挂起

这一切都很顺利,除了OSX 10.4上的Safari。偶尔订单会通过,但大部分时间Safari都会挂起。在Safari中查看Activity窗口时,它表示它正在等待订单脚本,并且它是“0字节?”。 我们认为服务器有问题,所以我们尝试了其他几台服务器,但问题依然存在。 最初我们使用了一个简单的帖子来处理订单,但为了解决这个问题,我们采用了一些更复杂的方法,例如通过AMFPHP进行的Flash远程处理。这也没有解决问题。

我们使用Charles来监控http流量以确定请求是否完全离开浏览器,但奇怪的是,当Charles运行时,我们无法重现问题。

我希望有人有任何线索发生了什么,因为我们无法弄清楚。

+0

我怀疑这是你的代码或服务器或类似的问题。考虑到它可以在其他地方使用,我会把它作为Flash或Safari/Mac的错误来解决。 - 让我这样说:Mac上99%的浏览器相关崩溃归因于Flash; Flash播放器*是最常见的使用最多的bug,占用资源的应用程序之一;只要有可能,苹果公开避免闪光。 - 就我个人而言,我非常同意Apple的观点,但那只是我自己。 - 对不起,我不能有任何真正的帮助:/ – Atli 2010-02-06 17:32:08

+0

只看你的标题,我会建议AMFPHP或ZendAMF,和查尔斯 - 但它听起来像你确切知道你在做什么。 它真的很奇怪,它可以在任何地方运行,但Safari,因为表面上浏览器甚至没有真正参与 - 你直接从播放器到服务器进行AMF连接。请让我们知道,如果你知道这一点! – Myk 2010-02-06 21:50:41

+0

要排除故障的两件事:1)与OSX的其他(更新版本)版本的Safari有什么不同? 2)用于Windows的Safari(相同版本)是否复制错误? – artlung 2010-02-07 00:19:49

回答

1

只是胡乱猜测:

是获得PDF回1个http请求,无论所有需要的数据发送到服务器,并获取PDF结果的结果呢?否则,这可能是一个计时问题 - 您确定在请求pdf时,服务器上是否有所有数据?所有浏览器品牌/版本的网站允许的并行连接数量并不相同,可能会影响发生“冲突”的可能性。

简单测试:在将数据发送到服务器和检索pdf之间引入延迟,看看它是否有任何影响。

+0

谢谢Simon,我认为值得尝试一下。这不是一个请求,而是两个。第一个发送所有图像数据,并用令牌获取响应以发出第二个请求。第二个请求包含更多的订单变量。 PDF是对第二个请求的响应。 到目前为止,一直以来,如果第一个请求通过,第二个请求也会发生,PDF也会生成,发送和接收。 – Abel 2010-02-07 10:18:46

+0

我对这个问题有了一些更新。我们一直在摆弄这个时机。这似乎是朝着解决方案迈出的重要一步。 目前我们在Acrobat中出现错误,提示“图像数据不足”,但我们无法再在任何机器上重现该错误。 – Abel 2010-02-10 16:35:30