моя собственная длинная реализация опроса по сравнению с Facebook и Gmail - PullRequest
6 голосов
/ 26 сентября 2011

В течение нескольких дней я экспериментировал с длинной реализацией опроса / кометы для своего сайта. Я получил общее представление о том, как это работает, , где я запускаю несколько тестов .

С другой стороны, я наблюдал (firebug), как gmail и facebook осуществляют длительный опрос. Что я заметил в gmail, так это то, что ajax-запрос не выполняется непрерывно сразу после истечения срока действия текущего запроса, но он ждет несколько секунд / минут, прежде чем сработает следующий.

Я играл с этим еще немного. Я попытался войти с учетной записью Gmail A в Firefox и учетной записи Gmail B в Chrome. Я ждал, когда закончится текущий опрос ajax, а затем отправил электронное письмо от аккаунта B к A. Я ожидал, что аккаунт A не получит его до следующего опроса, но, к моему удивлению, аккаунт A получил его сразу после того, как я нажал на кнопка отправки.

Как gmail делает это при длинных опросах?

Если вы попытаетесь зайти на мой сайт и нажать кнопку «Выполнить» и открыть firebug, вы увидите, что вращатель ajax всегда работает. когда сервер отвечает данными, он снова запрашивает сервер.

Ответы [ 2 ]

1 голос
/ 26 сентября 2011

Я думаю, что ваше предположение о том, что Gmail использует (только) длинные опросы, неверно. Согласно этому вопросу (и ответу) он использует фрейм навсегда и XHR навсегда. См. Также BrowserChannel , который они используют для чата Gmail.

1 голос
/ 26 сентября 2011

Взгляните на WebSync от Frozenmountain или SignalIR, который берет на себя работу из подложек. Я могу поручиться за websync, поскольку использую его каждый день, но слышал хорошие вещи о signalir.

...