2011-03-31 3 views
2

네트워크 요청이 FlashCS5와 브라우저에서 로컬로 작동하는 이유는 무엇인가에 대한 모든 사람들의 경험이 궁금합니다. 온라인으로 게시하면 실패합니다. survivorId은 문자열 쿼리에서 전송됩니다. 두 가지 테스트 모두 네트워크 데이터베이스를 호출했습니다.MiniGame은 FlashCS5에서 정상적으로 작동하지만 온라인에서는 실패합니다.

나는 다음 시도했다 : 텍스트 필드에 survivorId 출력하기 및 파라미터 변수가 제대로 전송되지 않은 경우보고

.

게시 설정에서 "네트워킹 전용"옵션을 설정하십시오.

더 많은 디버깅을 위해 브라우저에서 추적 작업을 출력하는 방법이 있습니까?

* 편집 : 브라우저에서 로컬로 버그를 다시 만들었습니다. 추적 동작이 없으면 내가 알아낼 수 있는지 모르겠다.

* EDIT2

은 : 그것 로컬 호스트에서

여기 내 코드입니다 (사과, 이것은 단지 이상한) 때문 버그는 다음 측면에서 다음 "localSurvivor"(영화 클립)가는 "단계"가, 나타났다

//Set localP Id 
var survId:Number = root.loaderInfo.parameters.sId; 
//Object(root).informationTxt.text = survId; 

//로드 무비 클립 클래스 : localSurvivor이 (가) "lPlayer는"클래스 localSurvivor 무비 클립 무대에

Stage-> localSurivor-> lPlayer(survivorId); 

로하는 AddChild()는 영화 클립을 것을이 코드 _____________________________ lPlayer 클래스 내부 그리고

//Load Local Survivor 
var localP:MovieClip = new lPlayer(survId); 

//Add to stage 
Object(root).localPlayer.addChild(localP); 
//------------------------------------------ 

:

public function lPlayer(survId:Number) { 
    //First retrieve player information(Position, SWF File, MapId, etc, etc) 
    //Prepare data to request 
    netVariables.act   = "fortDetails"; 
    netVariables.survivorId  = survivorId; 
    netRequest.method   = URLRequestMethod.POST 
    netRequest.data    = netVariables; 
    netLoader.dataFormat  = URLLoaderDataFormat.VARIABLES; 

    //Attach Event Handler to proccess data 
    netLoader.addEventListener(Event.COMPLETE, proccessFirstRun); 
} 

private function proccessFirstRun(rawData:Event) { 
    var playerInfo = rawData.target.data 

    //Player Info Loaded, Load the player onto the board 
    this.x = playerInfo.setx; 
    this.y = playerInfo.sety; 

    //Activate remote Survivors with fortId 
    Object(root).remotes.changeLevel(playerInfo.fid); 
    Object(root).zombieContain.changeLevel(playerInfo.fid); 
} 

//Request Data 
netLoader.load(netRequest); 

답변

1

흠, 방금 버그를 로컬에서 재현 한 메모를 추가했습니다. 이 경우 우리는 더 이상 계속할 정보가 없습니다. Firefox에서 추적하려면 http://blog.coursevector.com/flashbug

+0

좋은 링크! 투표했습니다. – Unsigned

+0

flashbug 프로그램은 상상할 수있는 무한한 방식으로 작동합니다. 다음 출력에서 ​​이와 관련된 무언가에 대한 크로스 도메인 제한 사항에 대한 권리가 있다고 생각합니다. 오류 # 2044 : 처리되지 않은 securityError :. text = 오류 # 2048 : 보안 샌드 박스 위반 : http://www.saladbowlers.com/fleshvirusv3/claimfort/claimfort.swf?sid=4 http://saladbowlers.com/fleshvirusv3/claimfort/lPlayer.php의 데이터를로드 할 수 없습니다. . – Xenland

+0

오류 dosent가 더 이상 표시되지만이 하나가 마지막으로 표시되는 crossdomain.xml 정책이 수정되었습니다. SecurityError : Error # 2000 : 활성 보안 컨텍스트가 없습니다. – Xenland

1

당신은 아마 크로스 사이트 제한을 타격한다. 쿼리하는 서버가 swf를 호스팅하는 서버와 다른 경우 제한이있을 수 있습니다.

+0

모든 것이 Saladbowlers.com 웹 사이트에서 호스팅되지만 게임은 Facebook의 iFrame에서 자체적으로 호스팅됩니다. 플래시가 iFrame을보고 이러한 제한 사항을 적용한다고 생각하십니까? – Xenland

+0

게임이 Faceplant ... face Facebook에서 직접 문제없이 작동합니까? 나는 네가 너의 대답을 가지고 있다고 생각한다. –

+0

메인 게임은 대부분 작동하며 미니 게임 코드의 대부분은 보리가있는 메인 게임 엔진에서 복사하여 붙여 넣기합니다. 또한 게임을 지역 데이터베이스를 사용하여 로컬로 실행했지만 문제없이 작동한다는 점에 유의하고 싶습니다. 나는 정말로 누군가가 네트워킹에 대한 경험이있어 무엇이 잘못되었는지에 대한 또 다른 단서를 가지기를 바랬다. – Xenland