c# - servidor - Cliente HTML5 WebSockets para.NET
websocket host c# (11)
Es mejor que intentes WebSocket4Net: websocket4net.codeplex.com
Entonces, encontré esa cosa increíble llamada HTML5 WebSockets, nueva API. Eso todavía está en versión DRAFT, pero bastante bien soportado. Comunicación bidireccional full-duplex. Sé cómo usarlo a través de JavaScript, hay API. Pero si quiero usar un cliente WebSocket dentro de mi aplicación C # / .NET, ¿cómo hacerlo?
Por ejemplo, JavaScript: http://bohuco.net/blog/2010/07/html5-websockets-example/
¿Hay alguna biblioteca cliente especial para WebSockets en .NET?
Estoy implementando XSockets.net. El framework funciona bastante bien, se mantiene, los desarrolladores ofrecen soporte pago, pero para problemas normales también son bastante activos aquí en SO y ayudan mucho.
Ofrecen una API .net para implementar los sockets y también una API de JavaScript para el cliente.
Como resumen, puedo recomendarlo.
No he probado la implementación de Microsoft, pero creo que Xsockets tiene el tiempo de configuración más rápido (paquete nuget). Menos de 3 minutos desde el inicio hasta la ejecución de un socketserver + client completo (aplicación de chat de demostración). Demostración de Youtube
Tiene una alternativa a Silverlight y flash para navegadores más antiguos.
Puede usar http://www.nuget.org/packages/Microsoft.AspNet.SignalR/ o http://www.asp.net/signalr
ASP.NET SignalR es una nueva biblioteca para desarrolladores de ASP.NET que facilita el desarrollo de la funcionalidad web en tiempo real. SignalR permite la comunicación bidireccional entre el servidor y el lado. Los servidores ahora pueden enviar contenido para que se conecte al cliente instantáneamente a medida que esté disponible. SignalR admite Web Sockets y recurre a otras técnicas compatibles para navegadores antiguos. SignalR incluye API para la gestión de la conexión (por ejemplo, conectar y desconectar eventos), agrupar conexiones y autorizar.
Recientemente investigué esto mientras construía una biblioteca cliente .NET y Silverlight para Pusher . Encontré las siguientes bibliotecas y proyectos de cliente WebSocket:
- Prototipo de cliente de Microsoft WebSocket
- Nota de SuperWebSocket : hay un cliente allí, es difícil de encontrar
- WebSocket-Sharp
- Anaida
Por el momento, la implementación de Microsoft es probablemente la más fácil de usar y también tiene una biblioteca de Silverlight. SuperWebSockets tiene un proyecto de Silverlight en la fuente, pero no en la última versión.
Sí, necesitará un servidor intermediario que admita el protocolo WebSocket . Este servidor puede escribirse en cualquier idioma, incluido .NET. Aquí hay uno para .NET, pero realmente podría ser cualquier idioma. En lo que respecta a su sitio, podría ser ASP.NET y la parte del cliente en javascript, que hablará con el servidor WebSocket.
Si está buscando un servidor WebSocket empresarial de alto rendimiento, eche un vistazo a Kaazing . Kaazing tiene soporte completo para .NET incluyendo Xamarin.
Aquí hay un tutorial paso a paso para AMQP: Lista de comprobación: compilar clientes Microsoft .NET AMQP .
[Divulgación: trabajo para Kaazing.]
Sir SuperWebSocket incluye una implementación de servidor WebSocket y una implementación de cliente WebSocket. Página de proyecto de SuperWebSocket
Tienes algunas opciones
- Tira el tuyo - la especificación es bastante simple
- Utilice la versión experimental de otra persona, como este servidor de socket web C #.
- Mire en el enfoque de MS WCF
Un amigo y acabo de lanzar un servidor de websocket C # muy ligero, delgado y escalable: https://github.com/Olivine-Labs/Alchemy-Websockets
Lo construimos para usar en nuestro juego en línea, por lo que nuestra principal preocupación fue el manejo rápido y eficiente de toneladas de conexiones. Es, según mi investigación, el más eficiente que hay. Y, como beneficio adicional, es compatible con websockets flash como una alternativa para usuarios sin navegadores habilitados para websocket.
A partir de .NET 4.5, los clientes de WebSocket son compatibles a través de System.Net.WebSockets.ClientWebSocket
Puede explorar o descargar esta aplicación C # de muestra desde el sitio web de MSDN Code: http://code.msdn.microsoft.com/WebSockets-middle-tier-5b2972ce/sourcecode .
Para los votantes a la baja de la pregunta, la muestra se centra principalmente en conectarse a los servicios de WebSocket, que es otro caso de uso significativo para una aplicación de C # centrada en la red.