2011-09-26 1 views
6

며칠 동안 내 사이트에 대한 긴 폴링/혜성 구현을 실험 해 왔습니다. 어떻게 작동하는지에 대한 기본적인 생각이 있습니다. this is where i run some tests.페이스 북과 Gmail에 비해 내 자신의 긴 폴링 구현

반면에 Gmail과 Facebook에서 긴 폴링을 구현하는 방법을 관찰했습니다. Gmail에서 알아 차린 점은 현재 요청이 만료 된 직후 Ajax 요청이 계속해서 따르지 않지만 다음 요청이 발생하기까지 몇 초/분 동안 기다리는 것입니다.

나는 그걸 좀 더 연주했습니다. 파이어 폭스에있는 gmail 계정 A와 크롬에있는 gmail 계정 B로 로그인을 시도했습니다. 나는 현재의 아약스 투표가 끝나기를 기다렸다가 B 계정에서 A로 이메일을 보냈다. 다음 투표가있을 때까지는 A 계정을받지 못할 것이라고 예상했지만 놀랍게도 계정 A는 제출 버튼.

gmail이 긴 폴링을 사용하면 어떻게됩니까?

내 사이트를 방문하여 실행 버튼을 클릭하고 방화 광을 열려고하면 아약스 회 전자가 항상 실행되고 있음을 알 수 있습니다. 서버가 데이터로 응답하면 서버에 다시 요청합니다.

답변

1

Gmail에서 긴 폴링 만 사용한다고 가정합니다. this question (답변)에 따르면 영원히 프레임과 영원히 XHR을 사용합니다. Gmail 채팅에 사용하는 BrowserChannel도 참조하십시오.

+0

링크 주셔서 감사합니다, 나는 좀 더 자세한 정보를 파헤쳐 드리겠습니다 – pneftali

+0

당신은 [socket.io의 코드] (https : // github. co.kr/learnboost/socket.io) – HyderA

1

Frozenmountain 또는 SignalIR에서 WebSync를 확인하여 백업 된 부분을 해결하십시오. 나는 일상적으로 사용할 때 websync를 보증 할 수 있지만 signalir에 관해 좋은 점을 들었다.

+0

무료 버전을 다운로드했습니다. 하지만 난 prolly 먼저 기본에 대한 자세한 내용을 배울 필요가, 덕분에 tho :) – pneftali