2012-03-09 84 views
0

我有一個Flash項目,每10秒輪詢一次php服務器來檢查命令。我有1200臺機器在本地網絡上運行它。我應該爲此使用BlazeDS嗎?

當我們的網絡速度變慢時,輪詢有時會失敗並且項目掛起。 Blaze/LiveCycle在精簡網絡上表現良好嗎?在這些條件下比投票更強大嗎?

回答

1

這不是輪詢(或推動)部分,可以使BlazeDS更好/更快。如果你使用BlazeDS並且只在必要時發送數據,而且只有必要的話 - 那麼會使它更好(可能),從而限制整體流量。這聽起來像輪詢掛起,因爲在某個時間點,你最終發送了大量的數據,並需要Flex一段時間來注入數據。

我用8000個實體通過BlazeDS向Flex推送狀態(帶有〜20個字符串字段和2-3個大型字符串列表的對象)的模擬運行,並且性能良好。

+0

聽起來很有希望。如果我將1200個客戶端連接到BlazeDS服務器,是否保持1200個持續連接打開? – Sparky1 2012-03-09 05:01:40

+0

林不是100%確定。我相信你每個「瀏覽器」獲得1個管道。 – debracey 2012-03-09 14:17:47

0

您還可以檢查GraniteDS,它具有良好的可擴展和容錯異步servlet堆棧。它依賴於長輪詢,並提供比簡單輪詢更加「實時」的體驗(儘管你不一定需要在你的應用程序中使用它)。

使用異步servlet可以解決一些服務器端的可伸縮性問題,但它不能解決由debracey指出的可能的客戶端重載問題。

您可以使用GraniteDS here查看有關實時消息的短片。