signalR vs HTML5 WebSocket per applicazione di chat asp.net MVC
-
25-10-2019 - |
Domanda
Sono in grande dilemma per uso HTML5 WebSockets o signalR per una chiacchierata che stiamo per integrare nella nostra applicazione asp.net MVC3
I miei dilemmi
1.Why ad uso signalR se si implementa longpolling?
2.Isnt longpolling male?
3.websockets e longpolling completamente diverso?
4. WebSockets Solo IIS8 supporti?
5.Posso salvare i dati di chat in database SQL utilizzando HTML5 WebSocket?
ci 6.Isnt una soluzione per rendere WebSockets lavoro su IIS7 e versioni superiori (Userò cromo solo browser)
Grazie per cuscinetto con me
Soluzione
-
Perché usare signalR se implementa longpolling?
Risposta: per abilitare il supporto per i vecchi browser o per avere un più alto livello di astrazione su trasferimento dati dettagli di implementazione. Se sicuramente sarà utilizzare la versione di Chrome che ha un WebSockets sostengono - uso WebSockets (buona spiegazione qui )
-
Isnt longpolling male?
Risposta:. In realtà non è la migliore (vedi link sopra), ma meglio di niente per i vecchi browser
-
WebSockets e longpolling completamente diverso?
Risposta: sono molto diversi (di nuovo, vedi risposta precedente), ma non v'è smth in comune per loro (entrambi richiedono una connessione)
.
-
Solo IIS8 supporti WebSockets?
Risposta: se si desidera utilizzare framework .NET puro - sì, IIS solo l'8, e .NET 4.5. Ma è possibile utilizzare un altro server WebSockets (vedi soluzione qui di seguito).
-
È possibile salvare i dati di chat in database SQL utilizzando HTML5 WebSocket?
Risposta: WebSockets è soltanto un protocollo per inviare Dati , in modo letteralmente usando non è possibile eseguire alcuna azione ad eccezione di trasferimento dei dati. Tuttavia si potrebbe, per esempio, hanno un token che sarà inviata a server e significherà "salvare tutti i dati precedenti al DB". Oppure si potrebbe avere scenari più complessi sulla base di diversi tipi di messaggi, come concreta applicazione nella socket.io per node.js .
-
Isnt c'è una soluzione per rendere WebSockets lavoro su IIS7 e versioni superiori (userò solo cromo browser)
Risposta - sì, proprio non utilizzare IIS, ma un'altra implementazione WebSockets server (es Fleck - ha una bella supporto per i browser "vecchi" di supporto webseckets) e farlo funzionare al fianco di IIS come un processo separato, per esempio.
Altri suggerimenti
SignalR può supportare WebSockets se IIS e il browser supportano questa, se non si usa longpolling. Utilizzando SignalR vi farà risparmiare un sacco di tempo reinventare la ruota, hanno dimostrato che è possibile creare un buon sito web chiacchierata con esso.
4. Solo IIS8 supporti WebSockets?
SignalR supporta IE <8 con Json2.js. Basta avere con Nuget install-package json2
Assicurati di aggiungere un riferimento a json2.js PRIMA signalR.js