2012-02-16 18 views
7

Estoy en gran dilema en cuanto a utilizar HTML5 websockets o signalR para una charla vamos a integrar en nuestra aplicación asp.net MVC3signalR vs HTML5 websockets para la aplicación de chat asp.net MVC

Mis dilemas
1 . ¿Por qué utilizar señalR si implementa longpolling?
2.Isnt longpolling está mal?
3.websockets y longpolling completamente diferente?
4. ¿Solo IIS8 admite websockets?
5.¿Puedo guardar los datos de chat en la base de datos SQL usando websockets Html5?
6.Isnt Hay una solución alternativa para hacer websockets trabajan en IIS 7 y versiones superiores (me va a utilizar el navegador Chrome únicamente)
Gracias por su paciencia conmigo

Respuesta

10
  1. Por qué utilizar signalR si implementa longpolling?

    Respuesta: para habilitar la compatibilidad con navegadores antiguos o para tener un mayor nivel de abstracción sobre los detalles de implementación de la transferencia de datos. Si definitivamente va a utilizar la versión de Chrome que tiene soporte para websockets, use websockets (buena explicación here).

  2. Isnt longpolling bad?

    Respuesta: en realidad no es el mejor (ver enlace arriba), pero es mejor que nada para los navegadores antiguos.

  3. websockets y longpolling completamente diferente?

    Respuesta: son bastante diferentes (de nuevo, vea la respuesta anterior), pero hay algo común en ellos (ambos requieren una conexión).

  4. Solo IIS8 admite websockets?

    Respuesta: si desea utilizar el framework .NET puro, sí, solo IIS 8 y .NET 4.5. Pero puede usar otro servidor websockets (vea la solución a continuación).

  5. ¿Puedo guardar los datos de chat en la base de datos SQL usando Websockets Html5?

    Respuesta: websockets sólo es un protocolo para enviar los datos , por lo que, literalmente, usarlo que no puede realizar ninguna acción, excepto de la transferencia de datos.Sin embargo, podría, por ejemplo, tener un token que se enviará al servidor y significará "guardar todos los datos anteriores a DB". O bien, podría tener escenarios más complejos basados ​​en diferentes tipos de mensajes como complementado en socket.io for node.js.

  6. Isnt Hay una solución alternativa para hacer websockets trabajan en IIS 7 y versiones superiores (Me va a utilizar el navegador Chrome solamente)

    respuesta - sí, simplemente no lo utiliza IIS, pero otra implementación de servidor websockets (por ejemplo Fleck - tiene un buen soporte para navegadores "antiguos" que admiten webseckets) y lo ejecuta junto con IIS como un proceso separado, por ejemplo.

6

SignalR puede soportar websockets si IIS y el soporte de los navegadores esto, si no usa longpolling. El uso de SignalR le ahorrará mucho tiempo reinventando la rueda; han demostrado que puede crear un buen sitio web de chat con ella.

+0

es bueno que admitan websockets ... pero la mayoría de los casos IIS y navegador parecen no encajar con websockets, por lo que la mayoría de los casos será longpolling ... – bhargav

+0

así que en lugar de tener largas encuestas en la mayoría de los casos no hay ¿Una solución para hacer que los websockets funcionen en todos los IIS y Chrome solamente ...? Sí, he visto el webchat de demostración aquí http://jabbr.net/#/rooms/Lobby – bhargav

+0

No creo que haya una solución para hacer que los websockets funcionen. El soporte para websockets crecerá rápidamente cuando iis8 se lance. – Wim

-1

4. ¿Solo IIS8 admite websockets?

SignalR es compatible con IE < 8 con Json2.js. Acaba de obtener con Nuget Install-paquete json2

Asegúrese de agregar una referencia a json2.js ANTES signalR.js

+5

IIS8 es para el servidor, IE8 es un navegador – Davy8

0

enter image description here

espero que va a resolver todas sus consultas.

Cuestiones relacionadas