2010-03-29 78 views
0

問候。我打算構建一個基於Flex的多人遊戲,我正在研究服務器端需要做什麼。我有PHP的經驗,所以我開始看ZendAMF。現在在這個遊戲中,我需要房間的概念,並在那些房間中實時更新客戶端,所以看起來我會使用遠程共享對象(正確,是嗎?)。我沒有看到ZendAMF可以支持這一點。什麼AMF服務器支持遠程共享對象?

所以我找到了這個網頁:http://arunbluebrain.wordpress.com/2009/03/04/flex-frameworks-httpcorlanorg/

這似乎表明ZendAMF是不會做我想做的。用於PHP的WebORB似乎是唯一基於PHP的消息傳遞解決方案,但在該頁面上它並沒有提到它旁邊的「實時」,就像它下面的基於Java的代碼一樣。

我應該如何看待服務器部分與我的要求?我是否需要跳到像BlazeDS這樣的東西並嘗試獲取一些Java知識?

謝謝。

回答

0

ZendAmf和weborb都使用http long pull。把它看作是ping來檢查更新。如果你真的需要真正的實時推送通知,那麼PHP將不會是你的答案,因爲它沒有線程或長時間運行的進程。 WebOrb擁有其他語言的幾臺服務器以及BlazeDS,RubyAMF,PyAmf,當然還有來自adobe的LCDS允許真正的消息傳遞。

+0

BlazeDS和LCDS是唯一支持共享對象的服務器嗎?我沒有看到RubyAMF支持這一點。看起來像是在相同的位置PHP – GrayB 2010-03-31 12:53:13

0

我想你已經知道答案,但對於其他人尋找到這個問題,以及:

所有* AMF解決方案使用HTTP作爲傳輸協議,不能有永久連接。 AMF通過HTTP編碼發送,然後關閉。

當你想用 「真正的」 實時(RTMP,RTMPT),你有這樣的選擇: 開源:Red5的(JAVA),BlazeDS的(JAVA),FluorineFX(.NET) 商業:Wowza媒體服務器(Java),WebORB(.NET和Java)

+1

對於商業服務器,我想你忘了Flash Media Server – David 2010-09-01 07:37:07

1

如果你有現金,我會高度評價閃存介質服務器。 我過去曾經有過很好的經驗