2012-02-16 3 views
7

Sono in grande dilemma da utilizzare HTML5 WebSockets o signalR per una chiacchierata che stiamo per integrare nella nostra applicazione MVC3 asp.netsignalR vs HTML5 WebSocket per un'applicazione di chat asp.net MVC

miei dilemmi
1 Perché usare il segnale R se implementa la longpolling?
2. Non longpolling male?
3.websocket e longpolling completamente diversi?
4. Solo IIS8 supporta le web socket?
5. Posso salvare i dati della chat nel database SQL utilizzando le web socket Html5?
6.Isnt c'è una soluzione per fare WebSockets lavorano su IIS7 e versioni superiori (Userò browser Chrome solo)
Grazie per sopportare con me

risposta

10
  1. Perché utilizzare signalR se implementa longpolling?

    Risposta: per abilitare il supporto per i vecchi browser o per avere un livello più alto di astrazione sui dettagli di implementazione del trasferimento dei dati. Se si utilizza sicuramente la versione di Chrome con supporto per Websockets, utilizzare Websockets (buona spiegazione here).

  2. Is longpolling male?

    Risposta: in realtà non è il massimo (vedi link sopra), ma meglio di niente per i vecchi browser.

  3. websockets e longpolling completamente diversi?

    Risposta: sono abbastanza diversi (di nuovo, vedi risposta sopra), ma c'è un po 'di differenza in comune (entrambi richiedono una connessione).

  4. Solo IIS8 supporta le web socket?

    Risposta: se si desidera utilizzare puro framework .NET - sì, solo IIS 8 e .NET 4.5. Ma puoi usare un altro server websockets (vedi la soluzione qui sotto).

  5. Posso salvare i dati della chat nel database SQL utilizzando le web socket Html5?

    Risposta: WebSockets è solo un protocollo per inviare i dati , così alla lettera usarlo non è possibile eseguire qualsiasi azione ad eccezione di trasferimento dei dati.Tuttavia, potresti avere un token che verrà inviato al server e significherà "salva tutti i dati precedenti in DB". Oppure potresti avere scenari più complessi basati su diversi tipi di messaggi come implementato in socket.io for node.js.

  6. Isnt c'è una soluzione per rendere WebSockets lavorano su IIS7 e versioni superiori (Userò browser Chrome solo)

    risposta - sì, proprio non utilizzare IIS, ma un'altra implementazione di server WebSockets (ad esempio Fleck - ha un buon supporto per i "vecchi" browser che supportano webseckets) e lo esegue insieme a IIS come un processo separato, per esempio.

6

SignalR può supportare WebSockets se IIS e il vostro sostegno del browser questo, se non usa longpolling. Utilizzando SignalR risparmierai molto tempo a reinventare la ruota, hanno dimostrato che puoi creare un buon sito web di chat con esso.

+0

è buono che supportano websockets..ma molti dei casi IIS e browser non sembrano adattarsi con websocket quindi la maggior parte dei casi sarà longpolling ... – bhargav

+0

così invece di avere un sondaggio lungo nella maggior parte dei casi non c'è una soluzione alternativa per far funzionare le websocket su IIS e Chrome solo ...? Sì, ho visto la webchat della demo qui http://jabbr.net/#/rooms/Lobby – bhargav

+0

Non penso che ci sia una soluzione alternativa per far funzionare websockets. Il supporto per i websocket crescerà rapidamente quando verrà rilasciato iis8. – Wim

-1

4. Solo IIS8 supporta le web socket?

SignalR supporta IE < 8 con Json2.js. Basta avere con Nuget install-pacchetto json2

Assicurati di aggiungere un riferimento a json2.js PRIMA signalR.js

+5

IIS8 è per il server, IE8 è un browser – Davy8

0

enter image description here

Spero che possa risolvere tutte le vostre domande.