2011-02-02 2 views
4

Ajax를 사용하여 페이지의 일부 데이터를 업데이트한다고 가정 해 보겠습니다. 타이머에 호출해야하므로 사용자가 페이지에 앉아 있으면 계속 업데이트됩니다. 클라이언트의 CPU 사용량을 높이거나 다른 눈에 띄는 방식으로 방해하지 않고 "실시간"느낌을 유지하려고 시도하는 합리적인 속도는 무엇입니까?AJAX로 얼마나 빨리 투표 할 수 있습니까?

+0

나는 문제가 클라이언트 CPU가 아니라고 말하고 싶습니다. 서버에서 폴링하는 모든 클라이언트의 결합 된로드입니다. – AndreasKnudsen

답변

2

실시간 감정을 실제로 유지하려면, Comet을 살펴 보시기 바랍니다. Reverse Ajax라고도 알려진 Comet은 클라이언트 JavaScript가 서버 및 서버에 대한 연결을 열어 클라이언트에 응답/업데이트를 보낼 준비가 될 때까지 해당 연결을 열린 상태로 유지합니다.

이것은 라이브 채팅 응용 프로그램에서 많이 사용되며 Chat Demos 및 기타 Comet Demos의 개념을 보여줍니다.

약 10 초 이상 폴링하면 대역폭과 CPU주기가 낭비됩니다. 연결을 열고 닫는 오버 헤드와 서버의 부하가 심합니다.

+0

그래, 다른 질문은 폴링 대 혜성 대 웹 소켓 대 가치라고 생각한다. –

+0

@ 라이언 - 혜성은 주류이지만 아직 해킹입니다. Jetty Web Server와 Dojo Cometd에서 잘 작동합니다. 웹 소켓은 내가 알고있는 Chrome에서만 사용할 수 있습니다. – jmort253

관련 문제