2009-05-21 10 views
6

Zastanawiam się, czy korzystanie z technologii COMET/Push jest prawdziwą zaletą w przypadku znacznie prostszego sondowania z długimi żądaniami, w których serwer będzie czekał pewien maksymalny czas na pojawienie się nowych zdarzeń, zanim powie klientowi, że nic się nie stało.Zaleta COMET w przypadku długich zapytań ofertowych?

Obie technologie mają podobne opóźnienia klientów i podczas gdy powszechna mądrość jest taka, że ​​długie żądania są gorsze, ponieważ muszą nawiązać nowe połączenie, jest również fakt, że istnieje protokół HTTP-keep-alive - w końcu oba wydają się być wytwarzają bardzo podobną ilość ruchu/obciążenia.

Czy jest jakaś wyraźna korzyść z używania COMET?

+0

Nie tak daleko, jak widzę ... (/ ja zastanawiam się, czy istnieje coś takiego jak fan-kometa) – annakata

+0

@annakata Czy ludzie wciąż/mnie w te dni? – Pacerier

Odpowiedz

12

Sonda ANFAIK z długimi żądaniami prawie komety IS. Polling z krótkimi żądaniami nie jest.

+4

Bingo. Różnica polega na wstrzymywaniu żądań przez długi czas, co jest trudne do wykonania na serwerze. Jeśli masz to, w zasadzie masz kometę. – jvenema

0

Niektóre zalety mogę myśleć:

  • Sprawia programowania klient łatwiej.
  • Minimalne opóźnienie między rzeczywistym wydarzeniem a powiadomieniem docierającym do klienta. W przypadku sondowania średni czas to [POLL TIME]/2 i najgorszy przypadek [POLL TIME].
  • Umożliwia zminimalizowanie zasobów potrzebnych na serwerze. Zobacz na przykład: article. W tym celu należy zastosować nowe technologie serwerowe.
+1

Opóźnienie, które opisujesz, dotyczy "krótkich żądań" z długimi żądaniami, serwer opóźnia odpowiedź do czasu wystąpienia zdarzenia lub osiągnięcia maksymalnego limitu czasu (aby zapobiec przekroczeniu limitu czasu połączenia). Oznacza to, że musisz wykonać jak jedną prośbę na minutę, ale nadal nie masz prawie żadnych opóźnień, ponieważ zdarzenie na serwerze wyzwala kolejną odpowiedź. Klient nie jest tak skomplikowany. Klient żąda pojedynczego identyfikatora URI zdarzenia i ponownie go żąda, gdy tylko uzyska odpowiedź. – fforw