2016-03-29 26 views
5
Zaczynam tworzyć oprogramowanie, aplikacja zakodowana przy użyciu html + js Muszę wysłać powiadomienie z aplikacji do serwera (kod Java) za pomocą nginx dla routiong i jest hostowana w AWS. badałem ten przedmiot zgłoszenia w czasie rzeczywistym, a ja się mylić między gniazdami internetowych długi odpytywania In what situations would AJAX long/short polling be preferred over HTML5 WebSockets?

Longpolling vs Websockets

W niektórych artykułach czytałem, że długo sondowania jest stary przeciwieństwie websocket który jest nowszy i lepszy (In what situations would AJAX long/short polling be preferred over HTML5 WebSockets?) zacznę sprawdzać element stron internetowych serwisu WhatsApp z Facebooka. Widziałem, że Gmail + Facebook za pomocą długiego sondowania W przeciwieństwie do WhatsApp, który za pomocą Websocket. Dlaczego więc firmy te nadal decydują się na korzystanie z długiego sondowania? https://www.quora.com/Does-Facebook-use-WebSockets-for-any-of-their-applications-Are-they-really-useful-at-that-scale-especially-since-they-impose-a-stateful-architecture

+0

To wszystko kwestia opinii i środowiska, które obsługuje. Starsze przeglądarki i niektóre serwery nie obsługują gniazd internetowych, więc w tych przypadkach potrzebujesz długiego sondowania. –

+0

firmy nie mogą chcieć uaktualnić niektórych technologii ze względu na koszt aktualizacji. Ale websocket jest rzeczywiście "lepszy" niż długi głosowanie. mniej transmitowanych danych, a komunikacja może być inicjowana w obie strony. Jako przykład podajemy .NET SignalR. Sprawdza, czy przeglądarka obsługuje websocket. jeśli tak, to używa ws, jeśli nie, to cofa się do longpolling –

+1

Biblioteka socket.io wykryje, czy webSockets są obsługiwane na obu końcach, a jeśli tak, użyj tego. Jeśli nie, użyje długiego sondowania. Starsze usługi prawdopodobnie działały z długimi głosowaniami i po prostu nie widzą potrzeby przeprojektowywania teraz, ale jeśli projektujemy od podstaw dla nowoczesnych przeglądarek, webSocket będzie zwykłym wyborem. – jfriend00

Odpowiedz

-1

WebSockets jest lepszy, po prostu zużywa mniej energii, klient nie musi pytać o zawartość co X czas, jedyny upadek, że stare przeglądarki nie obsługują ich.

Masz pełne porównanie w tym drugim pytaniu, jeśli chcesz uzyskać więcej informacji.

In what situations would AJAX long/short polling be preferred over HTML5 WebSockets?

+0

"Lepiej" nie jest tak naprawdę terminem stosowanym do porównania dwóch różnych rzeczy: czy broń jest lepsza niż nóż? – dandavis

3

Kilka powodów dlaczego niektóre firmy nadal używa długim odpytywanie:

  • wsparcie websocket nie jest jeszcze w 100%, choć bez wsparcia starszych przeglądarek powoli wymiera. Więc jeśli jesteś firmą taką jak Google, w której produkty muszą działać praktycznie w każdej przeglądarce, nadal potrzebujesz awaryjnego rozwiązania innego niż WebSocket.
  • Jeśli masz już działające rozwiązanie, koszty przeniesienia do WebSocket mogą znacznie przewyższać oszczędności, jakie przynosi.
+0

ludzie zapominają o systemach wbudowanych. Wiele nie można aktualizować i nie obsługują gniazd internetowych. Websocket jest świetny, ale jeśli tworzysz coś, co musi być kompatybilne ze starszymi systemami, w zależności od aplikacji odpytywanie interfejsu API REST jest wystarczająco dobre – dprogramz