2013-10-03 36 views
0

我正在開發一個flex應用程序,它使用「RemoteObject」從服務器獲取數據。我正在使用AMFPHP進行服務器端遠程處理。問題是當我使用AMFPHP的服務瀏覽器調用特定的方法時,結果數據在9-10秒內出現。但是當我從我的Flex應用程序調用相同的方法時,需要20-40秒!Flex - 調度遠程對象結果事件

其發送遠程對象請求我的服務器的代碼是

remoteObject.destination = "decoyDestination"; 
       remoteObject.source = "PHP/manager1"; 
       remoteObject.endpoint = "http://insight2.ultralysis.com/0Amfphp/Amfphp/"; 

       remoteObject.addEventListener(FaultEvent.FAULT,handleFault); 
       remoteObject.addEventListener(ResultEvent.RESULT,handleResult); 
       var params:Object = new Object(); 
       params.action = "default"; 
       params.ValueVolume = 1; 
       timer.start(); 
       remoteObject.init(params); 

和我的把手結果函數是

private function handleResult (event:ResultEvent):void 
      { 
       timer.stop(); 
       CursorManager.removeAllCursors(); 
       Alert.show("result found at: "+timer.currentCount/60+" seconds"); 
      } 

平均定時爲30秒至少。就像我對amfphp遠程處理知道的那樣,它應該工作得越來越快。我錯過了什麼嗎?

*注意:使用建立在網絡監視器中的FB,我可以看到正在發送一個請求。但響應時間和流逝時間總是空白。響應後,事件被接收

任何形式的幫助將不勝感激提前

感謝

+0

您要帶回多少數據?序列化/反序列化數據與推送數據有關。但有一個2-4倍的放緩使我的事情你的設置有點怪異。 –

回答

0

有幾件事情,我想你去嘗試,

  1. 具有網絡監控開啓,會導致性能下降 - 因此,關閉它,
  2. 服務瀏覽器顯然不是在調試模式下運行,如果您導出發佈構建您的項目並嘗試調用這些服務,您應該能夠o按照您的預期,更快地查看響應9-10秒(在調試模式下運行應用程序總是需要更多時間,查看響應時間,我在想從服務器獲取大量數據在調試模式下需要時間)
+0

嗨宙斯,感謝您的提示。我發現主要的黑羊是gZip。我正在壓縮所有輸出數據。看起來,gZip在我的服務響應時間內給我帶來了驚人的收益。和關於調試模式,它真的會花費我9-10秒!聽起來真的很貴! –