2016-03-29 18 views
5

Inizio a sviluppare un software, un'app codificata con html + js Devo inviare questa notifica dell'app dal server (codice java) l'app utilizzando nginx per routiong ed è ospitata in AWS. Ho studiato questo argomento della notifica in tempo reale e mi confondo tra le prese di Internet per polling lungo In what situations would AJAX long/short polling be preferred over HTML5 WebSockets?Longpolling vs Websockets

In alcuni articoli che ho letto che a lungo polling è un vecchio websocket a differenza che è più recente e migliore (In what situations would AJAX long/short polling be preferred over HTML5 WebSockets?) comincio ispezionare elemento di gmail facebook pagine web di whatsapp. Ho visto che Gmail + Facebook utilizzava lunghi sondaggi A differenza di whatsapp che utilizzava Websocket. Quindi, perché queste aziende scelgono ancora di utilizzare il polling lungo? 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

È tutta una questione di opinione e quali ambienti supportate. I browser meno recenti e alcuni server non supportano i socket Web, quindi in questi casi è necessario un polling lungo. Le aziende –

+0

potrebbero non voler aggiornare alcune tecnologie a causa del costo dell'aggiornamento. Ma websocket è davvero "migliore" dei lunghi sondaggi. meno dati trasmessi e la comunicazione può essere avviata in entrambe le direzioni. Prendi .NET SignalR come esempio. Controlla se il browser supporta websocket. se lo fa, usa ws, se non lo fa torna a longpolling –

+1

La libreria socket.io rileverà se webSockets sono supportati su entrambe le estremità e, in tal caso, usarlo. In caso contrario, utilizzerà il polling lungo. I vecchi servizi probabilmente hanno funzionato con lunghi sondaggi e semplicemente non si vede la necessità di riprogettare ora, ma se si progetta da zero ora per i browser moderni, webSocket sarebbe la scelta usuale. – jfriend00

risposta

-1

WebSockets è meglio, scarica solo meno energia, il client non deve chiedere il contenuto ogni volta X, l'unico inconveniente è che i vecchi browser non li supportano.

Hai una comparazione completa in questa domanda se vuoi avere più informazioni.

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

+0

"Meglio" non è un termine appropriato per confrontare due cose diverse: una pistola è meglio di un coltello? – dandavis

3

Un paio di motivi per cui alcune aziende stanno ancora utilizzando a lungo polling:

  • supporto WebSocket è ancora al 100%, anche se i browser legacy senza supporto stanno lentamente scomparendo. Quindi, se sei un'azienda come Google in cui i prodotti devono funzionare praticamente su tutti i browser, hai ancora bisogno di una soluzione di fallback non WebSocket.
  • Se si dispone già di una soluzione funzionante, i costi di trasferimento a WebSocket potrebbero superare i risparmi.
+0

le persone dimenticano i sistemi embedded. Molti non sono aggiornabili e non supportano i websocket. Websocket è ottimo, ma se stai facendo qualcosa che deve essere compatibile con i sistemi più vecchi, a seconda dell'applicazione, il polling di un'API REST è abbastanza buono – dprogramz