2011-08-19 3 views
0

사람들이 여러 오디오 파일을 동시에 스트리밍 할 수있는 서비스를 개발 중입니다.브라우저 HTTP 연결 제한 및 YouTube

불행히도 약 4 개의 스트림을 동시에 스트리밍 할 때 Chrome의 HTTP 연결 제한이 시작되는 것처럼 보입니다. 새로운 스트림 요청은 이전 연결이 종료되었을 때 서버에서만 실행됩니다.

흥미롭게도 YouTube에서 동시에 10 개 이상의 동영상을 재생할 수 있습니다.

YouTube는 브라우저의 동시 HTTP 연결 제한을 우회하기 위해 여기에서 어떤 기술을 사용할 수 있습니까?

답변

1

여기서 중요한 점은 YouTube 스트림이 브라우저에 의해 직접 제어되지 않는다는 것입니다. 플래시에 의해 처리되는 스트림을 사용하는 내장 플래시 플레이어입니다. 외부 응용 프로그램/라이브러리 (Flash, Java 등)로 스트리밍 프로세스를 전달하려는 경우 이러한 제한 사항을 아주 쉽게 우회 할 수 있습니다.

다른 점은 YouTube에 거대한 CDN이 있다는 것입니다. 따라서 동일한 서버에서 두 개의 동영상을 가져올 수 있다는 보장이 없으며 동시성 제한을 피할 수 있습니다 (적어도 한 지점까지).

Google은 잠시 후 브라우저의 동시성과 상대적인 효율성에 대한 연구와 실험을했기 때문에 Chrome이 잠시 멈췄다는 사실에 놀라지 않습니다. 나는 어딘가에서 그들이 3-4 개의 동시 연결을 결론 내렸다는 것을 기억합니다. 동일한 서버가 스트레이트 HTTP를 통해 가장 효율적인 데이터 전송 아키텍처를 나타냅니다. Annoyingly, 나는 (비록 내가 처음부터 그것을 얻었지 만) this이 아마도 같은 연구 프로그램의 일부일 것 같지만 그것으로 참조 할만한 평판 좋은 출처를 찾을 수는 없다. 둘 다, 놀랍게도 ...

+0

도 꽤 많이있는 참여 연구 페이스 북의 종류, 그리고 당신이 그것을 찾기 위해 쓰레기를 선별 방해 할 수 있다면 당신은 이상 http://developers.facebook.com/에서 몇 가지 유용한 정보를 찾을 수 있습니다 내 업로드 및 사운드 스트리밍 라이브러리는 Flash를 사용합니다. 동시 HTTP 연결에 문제가있는 다른 문제가 발생할 수 있습니다. 어떤 식 으로든 추가 요청은 서버 측에 도착하지 않습니다. 문제가 아마도 어딘가에 있기 때문에 나는 당신의 대답을 받아 들일 것입니다. 불행히도, 나는 지금 어디를보아야할지 모른다. – Tom

+0

이제는 디버깅이 더 진행되었으므로 동시에 연결 제한이되는 것은 __has__입니다. 잠시 후 서버에 도착할 때 대기하므로 대기합니다. 나는 또한 확실히 플래시를 사용하고 있는지 확신합니다. 이 문제가 플래시에 적용되지 않습니까? 여기에 명백한 것 같습니다. – Tom

+0

솔직히 말해서, 내가 다루었 던 미디어 스트리밍 앱은 한 번에 최대 1 개의 재생 요청과 2 개의 캐싱 요청을하기 때문에 이전에 비해 문제가되지 않았습니다. 이는 모두 필요한 것입니다. 한 번에 하나의 스트림 만 재생하고 있습니다. 정확히 당신이해야 할 일은 무엇입니까? 요청 수를 줄이기 위해 서버 측에서 스트림을 결합 할 수 있습니까? – DaveRandom