8
votes

SignalR VS HTML5 Websockets pour ASP.NET Application de chat MVC

Je suis dans un grand dilemme d'utiliser HTML5 WebSockets ou SignalR pour une conversation, nous allons intégrer à notre application ASP.NET MVC3

Mes dilemmes

1.Pourquoi utiliser Signalr s'il implémente Longpolling?
2.isnt Longpolling Bad?
3.websockets et longueurs complètement différents?
4. Seul IIS8 prend en charge les webockets?
5.Can I Enregistrer les données de chat dans la base de données SQL à l'aide de HTML5 WebSockets?
6.isnu il y a une solution de contournement pour créer des webockets sur les versions IIS7 et supérieures (je n'utiliserai que le navigateur chrome)
Merci d'avoir porté avec moi


0 commentaires

4 Réponses :


7
votes

SignalR peut prendre en charge les webockets si IIS et votre navigateur prennent en charge cela, sinon il utilise de longpolling. À l'aide de SignalR, vous économiserez beaucoup de temps à réinventer la roue, ils ont prouvé que vous pouvez créer un bon site Web de discussion avec elle.


3 commentaires

Son bon, ils soutiennent les webockets.


Donc, au lieu d'avoir une longue interrogation dans la plupart des cas, il n'ya pas de solution de contournement pour que les webockets fonctionnent sur tous les IIS et Chrome seulement ...? Oui j'ai vu la démo Webchat ici ici JABBR.net/#/frooms/lobby


Je ne pense pas qu'il y ait une solution de contournement pour faire fonctionner des webockets. La prise en charge des webockets augmentera rapidement lorsque IIS8 est libérée.



-3
votes

4. Seul IIS8 prend en charge les webockets?

SignalR prend en charge IE <8 avec JSON2.JS. Il suffit de l'obtenir avec Nuget Emballage d'installation JSON2

Assurez-vous d'ajouter une référence à JSON2.JS avant Signalr.Js


1 commentaires

IIS8 est pour le serveur, IE8 est un navigateur



11
votes
  1. Pourquoi utiliser SignalR si elle implémente Longpolling?

    Réponse: Pour activer le support des anciens navigateurs ou avoir un niveau d'abstraction plus élevé sur les détails de la mise en œuvre de transfert de données. Si vous utilisez définitivement la version de chrome qui possède un support WebSockets - utilisez WebSockets (bonne explication ici ).

  2. n'est pas néanmoins de longue durée?

    Réponse: En réalité, ce n'est pas le meilleur (voir le lien ci-dessus), mais mieux que rien pour les vieux navigateurs.

  3. Websockets et Longpolling complètement différent?

    Réponse: ils sont assez différents (à nouveau, voir la réponse ci-dessus), mais il y a un smth en commun pour eux (ils nécessitent tous les deux une connexion).

  4. Seul IIS8 prend en charge les webockets?

    Réponse: Si vous souhaitez utiliser Pure .NET Framework - Oui, seul IIS 8, et .NET 4.5. Mais vous pouvez utiliser un autre serveur WebSockets (voir Solution de contournement ci-dessous).

  5. Puis-je enregistrer les données de discussion dans la base de données SQL à l'aide de HTML5 WebSockets?

    Réponse: WebSockets n'est qu'un protocole pour envoyer Data , donc littéralement l'utiliser Vous ne pouvez effectuer aucune action à l'exception des données de transfert. Cependant, vous pourriez dire que vous avez un jeton qui sera envoyé au serveur et signifiera "Enregistrer toutes les données précédentes à la DB". Ou vous pouvez avoir des scénarios plus complexes basés sur différents types de messages tels que Inchangé dans socket.io pour nœud.js .

  6. n'est pas une solution de contournement pour créer des webockets de travail sur IIS7 et des versions supérieures (je n'utiliserai que le navigateur chrome uniquement)

    Réponse - Oui, n'utilisez simplement pas IIS, mais une autre mise en œuvre de serveur WebSockets (par exemple, Fleck - A un bon soutien pour les "vieux" navigateurs prenant en charge des standards) et le gérer à côté de IIS comme un processus distinct, par exemple.


0 commentaires

0
votes

 Entrez la description de l'image ici

J'espère que cela résoudra toutes vos questions.


1 commentaires

Bon, mais a besoin de texte écrit plutôt que d'image