2009-10-23 3 views
0

인사말,Flash가 객체를 캐시했는지 확인할 수있는 방법이 있습니까?

나는 네트워크 플래시 응용 프로그램을 제작하고 있습니다. 서버 (독립적 인 C++ 응용 프로그램)는 플래시 클라이언트가 이미지 및 사운드와 같은 조작 및/또는 표시 할 수있는 리소스를 보냅니다. 브라우저가 이러한 리소스를 캐시에 저장한다고 가정합니다. 리소스가 꽤 클 수 있기 때문에 클라이언트가 앱을 다시 시작할 때마다 서버에서 다시 보내고 싶지 않습니다. LSO (플래시 쿠키)는 브라우저 또는 사용자가 캐시를 독립적으로 지우면 업데이트되지 않기 때문에 사용할 수 없습니다.

플래시 게이머의 경우 1) 항목이 캐시되었는지 검색 할 수 있습니까? 예 : 브라우저 캐시에 crc 또는 다른 것을 쿼리하는 중입니까? 어쩌면 개체를 화면 밖으로로드하고 (어쨌든) 나타나면 발견합니까? - 또는 - 2) 어떤 종류의 더 큰 LSO에서 일반 브라우저 캐시를 사용하지 않고 캐시를 피하는 방법이 있습니까?

도움 주셔서 감사합니다.

답변

0

아니요. 하지만 리소스에 대한 프리 로더가있는 경우 사용자가 무언가를보고 있으므로 제대로로드해야합니다. 리소스가 이미 캐시에있는 경우 프리 로더가 표시되지 않고 앱이 표시됩니다. 이미지/사운드에 대한 요청은 서버에 전달되지 않으므로 트래픽이 없습니다. 캐시에 없으면 프리 로더가 표시되므로 정확히 시작할 수 있습니다. 나는 왜 당신이 당신의 경우에 어떤 식 으로든 캐시를 조작하려고하는 이유를 볼 수 없다.

+0

음, 여기서 문제는 리소스가 SWF에 저장되어 있지 않거나 로컬에서 프리로드 할 수있는 리소스가 아니라는 것입니다. 리소스가 서버에서 직접 가져오고 (처음 실행될 때) 말한 다음 브라우저 캐시에 가득 찼습니다. 나는 클라이언트가 실제로 자원을 가지고 있는지 어떻게 감지 할 수 있는지를 알지 못하므로 서버로부터 요청을해야하는지 결정한다. – flashnewb

+0

예. 다운로드 가능한 리소스의 프리 로더를 표시 할 수 있습니다. 예를 들어, 플래시 (urlloader, loader, 무엇이든간에)에 의해 주어진 로딩 방법으로 이미지를로드한다면 진행을위한 이벤트와로드 된 완료 등이 있습니다. 얼마나 많은 자산을 다운로드해야하는지, 진행률 막대를 해당 숫자로 나누어 첫 번째 자원을 확보해야합니다. 완료되면 진행률 막대를 증가시키고 다음 막대를로드하는 등의 작업을 수행합니다. – TheBrain

+0

내 s/n으로 말하면, 나는 플래시 newb입니다, 그래서 나는 아직도 그것을 얻지 못하고 있기 때문에 여기 나와 함께 참을성있게하십시오. 예를 들어 보겠습니다. 소켓을 통해 이미지를 플래시 클라이언트로 전송하는 아주 기본적인 서버가 있다고 가정합니다. 클라이언트는 들어오는 이미지를 표시합니다. 서버에서 먼저 이미지 (이름 또는 체크섬 등)에 대한 식별자를 보내면 클라이언트가 "가지고 있습니다"또는 "보내". 클라이언트가이를 어떻게 결정합니까? – flashnewb

관련 문제