2010-02-06 77 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