web-dev-qa-db-fra.com

Client WebSockets HTML5 pour .NET

J'ai donc trouvé cette chose étonnante appelée HTML5 WebSockets, nouvelle API. C'est toujours dans la version DRAFT, mais assez bien pris en charge. Communication bidirectionnelle en duplex intégral. Je sais comment l'utiliser via JavaScript, il y a des API. Mais si je veux utiliser un client WebSocket dans mon application C # /. NET, comment faire?

Par exemple JavaScript: http://bohuco.net/blog/2010/07/html5-websockets-example/

Existe-t-il des bibliothèques clientes spéciales pour WebSockets dans .NET?

49
davidlt

monsieur SuperWebSocket inclut une implémentation de serveur WebSocket et une implémentation de client WebSocket. page du projet de SuperWebSocket

13
Kerry Jiang

J'ai récemment fait des recherches à ce sujet tout en créant une bibliothèque cliente .NET et Silverlight pour Pusher . J'ai trouvé les bibliothèques et projets client WebSocket suivants:

Pour le moment, l'implémentation Microsoft est probablement la plus simple à utiliser et elle dispose également d'une bibliothèque Silverlight. SuperWebSockets a un projet Silverlight dans la source mais pas dans la dernière goutte.

7
leggetter

À partir de .NET 4.5, les clients WebSocket sont pris en charge via System.Net.WebSockets.ClientWebSocket

Vous pouvez parcourir ou télécharger cet exemple d'application C # à partir du site Web MSDN Code: http://code.msdn.Microsoft.com/WebSockets-middle-tier-5b2972ce/sourcecode .

Pour les votants de la question, l'échantillon est principalement axé sur la connexion aux services WebSocket, qui est un autre cas d'utilisation important pour une application C # centrée sur le réseau.

5
vulcan raven

Je n'ai pas essayé l'implémentation de Microsoft, mais je pense que Xsockets a le temps d'installation le plus rapide (paquet nuget). Moins de 3 minutes du début à l'exécution d'un serveur de sockets + client complet (application de chat de démonstration). démo Youtube

Il a recours à Silverlight et au flash pour les navigateurs plus anciens.

2
Ben

Vous pouvez utiliser http://www.nuget.org/packages/Microsoft.AspNet.SignalR/ ou http://www.asp.net/signalr

ASP.NET SignalR est une nouvelle bibliothèque pour les développeurs ASP.NET qui facilite le développement de fonctionnalités Web en temps réel. SignalR permet une communication bidirectionnelle entre le serveur et le côté. Les serveurs peuvent désormais transmettre instantanément du contenu aux clients connectés dès qu'il est disponible. SignalR prend en charge les Web Sockets et revient à d'autres techniques compatibles pour les navigateurs plus anciens. SignalR inclut des API pour la gestion des connexions (par exemple, les événements de connexion et de déconnexion), le regroupement des connexions et l'autorisation.

2
surya

Si vous recherchez un serveur WebSocket d'entreprise hautes performances, jetez un œil à Kaazing . Kaazing a un support complet pour .NET, y compris Xamarin.

Voici un didacticiel étape par étape pour AMQP: Liste de vérification: créer des clients Microsoft .NET AMQP .

[Divulgation: je travaille pour Kaazing.]

1
Peter Moskovits

Un ami et je viens de publier un serveur Websocket C # très léger, léger et évolutif: https://github.com/Olivine-Labs/Alchemy-Websockets

Nous l'avons construit pour l'utiliser dans notre jeu en ligne, donc notre principale préoccupation était la gestion rapide et efficace de tonnes de connexions. C'est, d'après mes recherches, le plus efficace qui soit. Et, en prime, il prend en charge les websockets flash comme solution de rechange pour les utilisateurs sans navigateurs compatibles websocket.

1
Jack Lawson

Oui, vous aurez besoin d'un serveur intermédiaire qui prend en charge le protocole WebSocket . Ce serveur peut être écrit dans n'importe quelle langue, y compris .NET. En voici un pour .NET mais cela pourrait vraiment être n'importe quelle langue. En ce qui concerne votre site, il peut s'agir d'ASP.NET et de la partie client en javascript qui parlera au serveur WebSocket.

0
Darin Dimitrov

Je déploie XSockets.net. Le framework fonctionne assez bien, il est maintenu, les développeurs offrent un support payant mais pour les problèmes normaux, ils sont également très actifs ici en SO et ils aident beaucoup.

Ils offrent une API .net pour implémenter les sockets et également une API javascript pour le client.

En résumé, je peux le recommander.

0
Rafa