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
Odpowiedz
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?
"Lepiej" nie jest tak naprawdę terminem stosowanym do porównania dwóch różnych rzeczy: czy broń jest lepsza niż nóż? – dandavis
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.
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
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. –
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 –
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