2009-09-23 4 views
4

서버에서 명백한 과중한 부하를 제외하고 동시에 여러 동시 AJAX 폴링을 진행하는 것이 좋지 않습니까? 아니면 브라우저/서버가 처리 할 수있는 한계가 있습니까?동시 AJAX 간격 폴링

예 (전체 AJAX 폴링) ..

  • 기능 A 글로벌 채팅 시스템을위한 새로운 메시지를 당기는 3 초 간격 (북/마이 스페이스 등)에있다.

  • 기능 B는 2 초 간격으로 업데이트를 가져오고 사용자에게 표시 할 작업 (예 : 온라인 포커 응용 프로그램)을 나타냅니다.

  • 기능 C는 4 초 간격으로 작동하지만 별도의 메시징 시스템을위한 새 메시지도 가져옵니다.

+0

동시적인 아약스 전화를 어떻게 받았는지 알려주십시오. –

답변

3

브라우저는 도메인 당 4 개 (또는 매우 오래된 경우 2 개)의 동시 연결을 사용했습니다. 대부분의 최신 브라우저는이 값을 6 또는 8로 올렸습니다 (자체 테스트 및 일부 지원 읽기에 기반).

이렇게 긴 폴링 연결은 브라우저에서 해당 슬롯을 먹어서 다른 것들이 빠르게 다운로드되는 것을 방지 할 수 있습니다.

그렇지 않으면 느린 연결 (전화 접속 또는 이동 통신망)을 사용하는 사람들을위한 대역폭 호그가 될 수 있습니다.

다른 단점이있을 수 있지만 그 두 가지 큰 것들이 있습니다.

0

동시에 두 개 이상의 활성 AJAX 연결이 필요하지 않습니다. 긴 폴링 중 하나 (예 : 서버가 헤더로 응답하지만 전달할 데이터가있을 때 엔티티 본문 전송).

위에서 A, B, C로 설명한 것과 같이 폴링 체계를 실행하면 3 개의 요청을 번갈아 가며 다음 요청 간격으로 설정된 시간 제한 값을 사용하여 하나의 AJAX 스레드로 수행 할 수 있습니다. 하나의 단일 AJAX 스레드를 사용하여 요청을 A, B 및 C로 배포하는 상상의 타임 라인을 만듭니다.

0

하나 이상의 모바일 기기 (예 : iPad)가 대기중인 xhr 요청을 두 개 이상 발견합니다.