Frage

Ich bin in einem großartigen Dilemma, um HTML5 Websockets oder SignalR für einen Chat zu verwenden, den wir in unsere ASP.NET MVC3 -Anwendung integrieren werden

Meine Dilemmata
1. Warum zu verwenden SignalR Wenn es Longpolling implementiert?
2.Int Longpolling schlecht?
3.Websockets und Longpolling völlig anders?
4.Nur IIS8 unterstützt Websockets?
5. Kann die Chat -Daten mithilfe von HTML5 Websockets in der SQL -Datenbank speichern?
6. gibt es nicht eine Problemumgehung, damit Websockets auf IIS7 und höheren Versionen funktioniert (ich werde nur Chrome -Browser verwenden)
Danke, dass du dich mit mir befasst hast

War es hilfreich?

Lösung

  1. Warum SignalR verwenden, wenn es Longpolling implementiert?

    Antwort: Um die Unterstützung alter Browser zu unterstützen oder eine höhere Abstraktionsniveau über Datenübertragungs -Implementierungsdetails zu haben. Wenn Sie definitiv die Version von Chrome verwenden, die eine WebSockets -Unterstützung hat, verwenden Sie WebSockets (gute Erklärung hier).

  2. Ist nicht langwidrig schlecht?

    Antwort: Eigentlich ist es nicht das Beste (siehe Link oben), aber besser als nichts für alte Browser.

  3. Websockets und Longpolling völlig anders?

    ANTWORT: Sie sind ganz anders (wieder siehe Antwort oben), aber es gibt gemeinsam (sie erfordern eine Verbindung).

  4. Nur IIS8 unterstützt Websockets?

    Antwort: Wenn Sie Pure .NET Framework verwenden möchten - ja, nur IIS 8 und .NET 4.5. Sie können jedoch einen anderen WebSockets -Server verwenden (siehe Problemumgehung unten).

  5. Kann ich die Chat -Daten mithilfe von HTML5 Websockets in der SQL -Datenbank speichern?

    Antwort: WebSockets ist nur ein Protokoll zum Senden Daten, so buchstäblich es benutzen Sie können keine Maßnahmen ausführen, außer dass Daten übertragen werden. Sie können jedoch ein Token haben, das an den Server gesendet wird und "alle vorherigen Daten in DB speichern" bedeutet. Oder Sie könnten komplexere Szenarien haben, die auf verschiedenen Arten von Nachrichten basieren, wie inlementiert in Socket.io für node.js.

  6. Gibt es keine Problemumgehung, damit Websockets auf IIS7 und höheren Versionen funktioniert (ich werde nur Chrome -Browser verwenden)

    Antwort - Ja, verwenden Sie einfach nicht IIS, sondern eine andere WebSockets -Server -Implementierung (z. Fleck - Hat eine gute Unterstützung für "alte" Browser, die Webseckets unterstützen) und führen Sie es beispielsweise als separater Prozess aus.

Andere Tipps

SignalR kann WebSockets unterstützen, wenn IIS und Ihr Browser dies unterstützen, wenn nicht. Mithilfe von SignalR sparen Sie viel Zeit, um das Rad neu zu erfinden. Sie haben bewiesen, dass Sie damit eine gute Chat -Website erstellen können.

enter image description here

Ich hoffe, es wird alle Ihre Fragen lösen.

4. Nur IIS8 unterstützt Websockets?

SignalR unterstützt IE <8 mit JSON2.js. Holen Sie sich einfach mit Nuget Installieren Sie Package JSON2

Stellen Sie sicher

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top