문제

내 서버에서 음악과 사운드 파일을 스트리밍하는 Flash (AS3/Flex SDK/MXMLC)로 게임을 작성했습니다.

대역폭에 대해 걱정하고 있습니다. 오디오 구성 요소는 거의 3MB이며 게임이 인기가되면 실제로 대역폭 전하를 쌓을 것입니다.

동일한 PC에 게임이로드 될 때마다 스트리밍하는 대신 오디오 구성 요소가 다운로드되면 Flash 캐시를 만들 수있는 방법이 있습니까?

나는 sharedobjects ( "쿠키")에 대해 알고 있지만 이진 데이터를 저장하는 방법이 없다고 생각합니다 ... 아니면 거기에 있습니까?

도움이 되었습니까?

해결책

당신이 말할 때 "개울", 나는 당신이 HTTP에 대한 점진적인 다운로드를 의미한다고 가정합니다.

당신의 목표를 충족시키는 적절한 캐싱 헤더와 함께, 초보자를 위해 미디어 자산이 서버에서 전송되도록하고 싶을 것입니다. 캐시 친화적이지 않으면 파일이 캐시되지 않습니다. 또한 쿼리 문자열은 일반적으로 클라이언트 측 캐싱을 방지합니다.

이와 관련하여 플래시 플레이어에 대해서는 마술 같은 것은 없습니다. 모든 것이 모든 것이 단지 평범한 웹 페이지 인 것처럼 모든 것이 작동해야합니다.

저렴한 내용의 대형 정적 미디어 자산을 호스팅하는 것을 고려할 수 있습니다. 아마존 S3 또는 클라우드 프론트.) 이것은 응용 프로그램 논리가 필요하지 않은 벌크 전송 비용을 줄일 수 있습니다.

의견에서 영감을 얻은 업데이트 : 다음은 귀하의 퀘스트에서 팔로우 할 수있는 개요입니다 ...

  1. 어떤 종류의 캐싱이 무엇인지, 먼저 일어나지 않는지 알아 내십시오.
    1. 브라우저 캐시를 지우십시오
    2. 게임에서 사용 사례를 살펴보십시오
    3. 사용 된 것과 동일한 콘텐츠를 볼 것으로 예상하여 다시 살펴보십시오.
    4. 웹 서버 로그 파일을 검사하십시오. 첫 번째 요청 그룹에는 모두 HTTP 200 응답 코드가 있어야합니다. 두 번째 요청 그룹의 경우 이미 배송 된 파일에 대한 "캐시 가능한"요청이 있습니다. 아무것도 아님 또는 HTTP 304 (캐시 된 콘텐츠가 유효한지 확인하라는 요청.) 동일한 요청 세트가 표시되면 모두 200 OK가 있으면 캐싱이 발생하지 않습니다.
  2. 캐싱에 대해 자세히 알아보십시오
    1. TamperData와 같은 Firefox 플러그인 설치, 캐싱 헤더보기
    2. 사양을 읽고 알고 있습니다. RFC 2616
    3. 실험

당신이 이미 콘텐츠를 캐싱하고 있다면 나는 그것을 깨닫지 못했다면 나는 놀라지 않을 것입니다!

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top