2013-10-03 8 views
0

"RemoteObject"를 사용하여 서버에서 데이터를 가져 오는 플렉스 애플리케이션을 개발 중입니다. 나는 서버 측 리모팅을 위해 AMFPHP를 사용하고있다. 문제는 AMFPHP의 서비스 브라우저를 사용하여 특정 메소드를 호출 할 때 결과 데이터가 9-10 초 내에 나타납니다. 그러나 Flex 어플리케이션에서 같은 메소드를 호출하면 20-40 초가 소요됩니다 !!!플렉스 - 원격 객체 결과 이벤트 디스패치

내 서버에 원격 객체 요청을 전송하는 코드

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); 

이며 내 핸들 결과 함수는 평균 타이밍에 30 초 이상이다

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

이다. 내가 amfphp로 리모팅에 관해 알고있는만큼, 그것은 더 빨리 작동해야한다. 내가 놓친 게 있니?

* 참고 : FB의 기본 제공 네트워크 모니터를 사용하면 요청이 전송되고 있음을 알 수 있습니다. 그러나 응답 시간과 경과 시간은 항상 비어 있습니다. 응답 후 이벤트는 도움의 모든 종류가 사전에

감사를 이해할 수있을 것이다

를 수신

+0

얼마나 많은 데이터를 가져 왔습니까? 직렬화/비 직렬화 데이터와 관련된 비용이 있으며 와이어를 통해 밀어 넣습니다. 그러나 2 ~ 4 배의 감속을하면 설정이 불안해집니다. –

답변

0

나는 당신이 시도하고 싶은 몇 가지,

  1. 네트워크 모니터가 켜져 갖는 성능이 저하 될 수 있습니다. 따라서
  2. 서비스 브라우저가 디버그 모드로 실행되고 있지 않습니다. 릴리스를 내보내고 프로젝트를 빌드하면 이러한 서비스를 호출 할 수 있습니다. o 응답 시간이 9-10 초라는 것을 기대하는 것처럼 보입니다. (디버그 모드에서 앱을 실행하면 응답 시간이 늘어나고 더 많은 시간이 걸립니다. 서버에서 많은 데이터를 얻고 있다고 생각합니다. 디버그 모드에서 시간이 걸립니다.)
+0

안녕하세요 제우스, 팁 주셔서 감사합니다. 나는 주요 검은 양이 gzip 인 것을 알았다. 모든 출력 데이터를 압축하고있었습니다. gZip을 사용하지 않으면 서비스 응답 시간이 놀라 울 정도로 늘어납니다. 디버그 모드에 관해서는, 실제로 9-10 초가 걸릴 것입니다 !!! 정말 비싼 소리! –