signalR vs html5 websockets pour une application de chat asp.net MVC
-
25-10-2019 - |
Question
Je suis en grand dilemme quant à l'utilisation html5 websockets ou signalR pour une discussion que nous allons intégrer dans notre application asp.net de MVC3
Mes dilemmes
1.Pourquoi utiliser signalR si elle met en œuvre longpolling?
2.Isnt mauvais longpolling?
3.websockets et longpolling complètement différent?
4. Seuls IIS8 supports websockets?
5.Can i enregistrer les données de base de données SQL dans le chat en utilisant Html5 websockets?
6.Isnt-il une solution pour faire websockets travail sur les versions IIS7 et plus (je vais utiliser uniquement le navigateur Chrome)
Merci de roulement avec moi
La solution
-
Pourquoi utiliser signalR si elle met en œuvre longpolling?
Réponse: pour activer le support pour les anciens navigateurs ou d'avoir un niveau plus élevé d'abstraction sur les détails de mise en œuvre de transfert de données. Si vous allez certainement utiliser la version de chrome qui a un websockets soutien - websockets d'utilisation (bonne explication )
-
Isnt longpolling mal?
Réponse:. En fait il est pas le meilleur (voir le lien ci-dessus), mais mieux que rien pour les anciens navigateurs
-
websockets et longpolling complètement différent?
Réponse: ils sont tout à fait différents (encore une fois, voir réponse ci-dessus), mais il est lissée en commun pour eux (ils nécessitent une connexion)
.
-
Seuls IIS8 supports websockets?
Réponse: si vous voulez utiliser pur cadre .NET - oui, seulement IIS 8 et .NET 4.5. Mais vous pouvez utiliser un autre serveur websockets (voir solution ci-dessous).
-
Puis-je enregistrer les données de chat dans la base de données SQL en utilisant Html5 websockets?
Réponse: websockets est seulement un protocole à envoyer données , donc littéralement utiliser vous ne pouvez effectuer aucune action, sauf de transfert de données. Cependant, vous pouvez, par exemple, un jeton qui sera envoyer au serveur et signifie « sauvegarde toutes les données antérieures à DB ». Ou vous pourriez avoir des scénarios plus complexes basés sur différents types de messages comme inplemented socket.io pour Node.js .
-
Isnt il une solution pour faire websockets travail sur les versions IIS7 et plus (je vais utiliser uniquement le navigateur Chrome)
Réponse - Oui, il suffit de ne pas utiliser IIS, mais une autre implémentation de serveur websockets (par exemple Fleck - a un support agréable pour les navigateurs « anciens » soutien webseckets) et l'exécuter à côté IIS comme un processus distinct par exemple.
Autres conseils
SignalR peut prendre en charge websockets si le support IIS et votre navigateur cela, sinon il utilise longpolling. L'utilisation SignalR vous permettra d'économiser beaucoup de temps à réinventer la roue, ils ont prouvé que vous pouvez créer un bon site de chat avec elle.
4. Seuls les supports IIS8 websockets?
SignalR supporte IE <8 avec Json2.js. Procurez-vous avec Nuget install-package json2
Assurez-vous que vous ajoutez une référence à json2.js AVANT signalR.js