c# - SignalR y Websockets en Mono
.net .net-4.5 (1)
Hace aproximadamente 3 meses hice una investigación similar con un proyecto con Angular 2 y Singnalr. Espero que el uso del socket web no sea esencial para su proyecto.
Como puede ver here uno de los desarrolladores de Xamarin dijo que no funciona como System.Web.WebSocket
no está implementado en el Mono y no planean implementarlo en estos días.
Creo que hay mucho trabajo en marcha con la pila http de mono en este momento y que probablemente deba estabilizarse antes de que veamos cómo se resuelve este problema en particular.
Sugiero que continúe su trabajo con el mono actual, ya que la señal tiene un respaldo para los websockets, no va a ser un gran problema y cuando se implementa en mono, simplemente puede actualizar su proyecto. Con la política de código abierto actual de MS, creo que será más pronto de lo que se supone.
Si necesita la característica de websocket para su proyecto, entonces debe bifurcar el SignalR o encontrar una versión bifurcada que use una solución de terceros en este momento. WebSocketListener es realmente popular y tiene más características.
Recomiendo a cualquier persona interesada que bifurque SignalR y vea si puede usar una de estas implementaciones de xplat websockets para que funcione en su propia bifurcación.
Actualizar:
Desafortunadamente, no pude encontrar ninguna bifurcación de SignalR con WebSocketListener pero como tiene muchas bifurcaciones es difícil de encontrar.
Por lo que sé, el equipo de Mono detiene prácticamente toda la implementación y se enfoca en la implementación de ASP.Net vNext en Mono ya que es de código abierto .
He hecho horas de limpieza, tratando de averiguar por qué el transporte de websockets no funciona a través de signalr en mi aplicación c # 4.5 que se ejecuta en Linux a través de mono 4.0.1.
Referencias en mi proyecto:
Microsoft.Owin.Host.HttpListener
-
Microsoft.Owin.Host.SystemWeb
En este momento, estoy tratando de averiguar dónde está el cuello de botella que impide que funcionen los websockets. La forma en que lo entiendo es que SystemWeb
es básicamente un servidor de ejecución automática que utiliza el Httplistener
para escuchar en un puerto una conexión HTTP que luego los procesa hasta SystemWeb
. ¿Estoy recibiendo esta parte correcta?
¿Alguien puede indicarme la dirección correcta para un problema abierto, o un rastreador de errores donde actualmente está en desarrollo? De lo que puedo decir, hay algunas funciones básicas en http.sys
de esta respuesta que son necesarias y están presentes en Windows 8. ¿Hay planes para implementar esto en mono? Preferiría no obtener una biblioteca de terceros y hacer que esto funcione en SignalR
.