2010-02-19 65 views
1

我目前使用AMFPHP 1.9製作使用遊戲服務器的簡單Flash遊戲。AMFPHP當多個呼叫同時呼入gateway.php時出現錯誤版本錯誤

有時,當出現同時調用服務器時出現此錯誤(BadVersion)。

我搜索了一些回答這個問題的網頁,而且似乎他們回答道:在2004年

有如何解決這個問題的一個更新的版本?

我試圖改變globals.php參數使用絕對路徑,比如執行下面:

//$servicesPath = "services/"; 
//change to 
$servicesPath = "/httpdocs/Flash/AMFPHP/services/"; 

,但我甚至不能去服務瀏覽器時,我改變了它。

更新: 我設法更改爲正確的路徑(通過使用顯示get_cwd()的自定義PHP獲取路徑)

所以服務的瀏覽器,現在到了。 但是,我現在仍然會暫停。 (我對服務器的請求是在大約5分鐘的時間間隔)

我試圖向服務器發送垃圾郵件查詢,以確定它是否是由於同時發生的呼叫,並意識到它不是。 (我本地閃存垃圾郵件30×3請求/秒,它工作正常)

所以,現在我懷疑這可能是由於netconnection或類似的超時?

更新:每隔2分鐘向服務器添加一次keepalive調用以查看它是否再次發生。 Web服務器超時似乎設置爲180秒。

+0

我認爲如果所有的服務方法都是獨立調用它們時才起作用,那麼更改$ servicesPath並不會有任何幫助。 BadVersion錯誤有點令人沮喪,因爲它可能(幾乎)任何導致它的東西。您可以使用FirePHP來調試您的服務。 – goliatone 2010-02-19 16:26:42

回答

0

實際上最近發佈了一個新版本(最近2周),所以一定要檢查一下,看看它是否有幫助。

我不知道你的系統(顯然),但我懷疑你的絕對路徑是否正確,我會驗證它,或者將它設置回默認值。 (它可能會啓動'/ var/www/...'或類似的)

我在很多高流量網站上都使用了amfphp,並且從來沒有看到過這個錯誤,所以絕對不要別忽視其他可能性。仔細查看您發送/接收的數據是否存在任何可能的錯誤。它可以被正確編碼嗎?他們的特殊字符,可能是重音字符?

試着縮小錯誤的來源,是否有一個始終導致錯誤的調用?也許嘗試記錄結果。

Goodluck!

+0

@Tyler Egeto:哇,我完全錯過了發佈!感謝您帶來的好消息... – goliatone 2010-02-19 16:27:53

+0

雅有一些新的開發人員接管項目,所以事情回來了,很高興看到! – 2010-02-19 18:32:40

+0

我想我找到了答案,這是錯誤的路徑。 現在我需要再次強調測試同步部分。 已經使用最新的1。9版本從2個星期前:) – 2010-02-20 00:28:41