77 votes

Node.Js + Socket.IO vs SignalR vs C # WebSocket Server

J'ai actuellement un serveur TCP application écrite en .Net qui reçoit et envoie des messages aux clients. Je suis à la recherche à la construction d'une application web donc le besoin de la couche de communication.

J'ai construit une Node.JS + Socket.IO application qui se connecte à mon serveur TCP, puis pousse la communication à l'application web et tous fonctionne bien.

Je viens de lire à propos de SignalR comme une alternative de le garder dans la .Net de la pile.

Toutefois, j'ai aussi découvert que je pouvais écrire en C# Serveur Websocket, une base de démonstration ici

Je suppose que ce serveur de base est ce que SignalR est mais évidemment avec beaucoup plus de fonctionnalités?

Ce que je suis en train de décider, c'est que je viens d'ajouter mes TCP application avec un serveur Websocket ou dois-je aller dans une distinct SignalR ou Node.js itinéraire? De l'intérêt comment fonctionne un SignalR l'exécution de l'application, il est comme un service Windows, console application ou le service IIS?

78voto

Damian Edwards Points 3062

SignalR est comme Prise.IO qu'il prend en charge le transport de négociation/de secours. C'est un cadre et non un serveur, vous devez l'héberger sur un serveur quelconque. Nous avons d'hôtes pour ASP.NET, OWIN (par exemple, Kayak) et l'auto-hôte, de sorte que vous pouvez exécuter dans votre propre processus facilement, par exemple, un service Windows.

SignalR a soutenu des clients pour les navigateurs (JS), .NET, Windows Phone 7 et Silverlight. Il y a également contribué clients pour des choses comme iOS, Mono Touch, etc.

SignalR vous donnera un niveau beaucoup plus élevé de l'API que les sockets raw qui est son gros avantage, vous permettant de faire des choses comme "RPC" à partir du serveur vers les clients dans une émission (ou ciblé) de la mode.

15voto

Zuuum Points 1615

Développement d'une solution évolutive / thread-safe TCP server peut ne pas être une tâche facile. D'autre part, il ya de très belles ressources sur l'internet, afin de commencer votre propre. Par exemple, si vous êtes simplement à la recherche pour certains de nice open source WebSocket projets, mon conseil serait de ;

L'Alchimie Du Projet : Open Source C# WebSocket Bibliothèque

Fleck Projet : Open Source C# WebSocket Bibliothèque

SignalR pourrait être sympa, mais il a besoin de Windows Server 8 / IIS 8 afin de fournir des WebSocket fonctionnalité.

Sur le produit commercial, en particulier compte tenu de la websocket fonctionnalité n'est pas disponible sur tous les navigateurs, je recommande PokeIn WebSocket et reverse Ajax Library. A partir de la version 2.0, il a intégré dans le serveur WebSocket. Les détails sont disponibles à partir d' ici

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X