Aplicaciones en tiempo real con .NET Core y SignalR
1. 23 al 27 de Octubre 2017.NET Conf UY v2017
Aplicaciones en tiempo real
SignalR, .NET CORE
Florencia Nodar
Software Solutions Developer
Algeiba IT
Nicolás Granata
Software Solutions Developer
Algeiba IT
2. 23 al 27 de Octubre 2017.NET Conf UY v2017
http://juego.algeiba.com
3. 23 al 27 de Octubre 2017.NET Conf UY v2017
APLICACIÓN EN TIEMPO REAL
4. 23 al 27 de Octubre 2017.NET Conf UY v2017
.NET CORE
SIGNALR CORE
6. 23 al 27 de Octubre 2017.NET Conf UY v2017
¿Cuántas veces DISEÑAMOS y
CONSTRUIMOS una aplicación en
tiempo real?
7. 23 al 27 de Octubre 2017.NET Conf UY v2017
• ¿Qué tipo de hardware y software se requiere?
• ¿Qué es una aplicación en tiempo real y como
podemos implementarla?
• ¿Qué debemos tener en cuenta a la hora de
utilizar SignalR?
8. 23 al 27 de Octubre 2017.NET Conf UY v2017
¿Qué tipo de hardware y software se
requiere?
9. 23 al 27 de Octubre 2017.NET Conf UY v2017
WebSockets
• Protocolo para la comunicación.
• Permite abrir sesiones
interactivas bidireccionales entre
clientes y servidores.
• Permite que el servidor haga
“Push” al cliente.
• Soportado a partir de HTML5
WebSockets
10. 23 al 27 de Octubre 2017.NET Conf UY v2017
¿Qué es una aplicación en tiempo
real y como podemos
implementarla?
11. 23 al 27 de Octubre 2017.NET Conf UY v2017
WebSockets
• Protocolo para la comunicación.
• Permite abrir sesiones
interactivas bidireccionales entre
clientes y servidores.
• Permite que el servidor haga
“Push” al cliente.
• Soportado a partir de HTML5
Aplicación en Tiempo Real
12. 23 al 27 de Octubre 2017.NET Conf UY v2017
SignalR – Concepto
• Es un conjunto de librerías que
hace increíblemente sencillo
añadir la funcionalidad web en
tiempo real a nuestras
aplicaciones.
• Permite una comunicación en
tiempo real, sencilla y
bidireccional entre el servidor
y el cliente.
13. 23 al 27 de Octubre 2017.NET Conf UY v2017
Dos modelos de conexión
• SignalR facilita dos clases principales
para establecer las comunicaciones –
Conexiones Persistentes y Hub
14. 23 al 27 de Octubre 2017.NET Conf UY v2017
Funcionamiento del Hub
15. 23 al 27 de Octubre 2017.NET Conf UY v2017
¿Qué debemos tener en cuenta a la
hora de utilizar SignalR?
16. 23 al 27 de Octubre 2017.NET Conf UY v2017
WebSockets
• Protocolo para la comunicación.
• Permite abrir sesiones
interactivas bidireccionales entre
clientes y servidores.
• Permite que el servidor haga
“Push” al cliente.
• Soportado a partir de HTML5
Consideraciones de diseño
Frecuencia de los
mensajes
Tamaño del
mensaje Tamaño del buffer
de mensajes
17. 23 al 27 de Octubre 2017.NET Conf UY v2017
WebSockets
• Protocolo para la comunicación.
• Permite abrir sesiones
interactivas bidireccionales entre
clientes y servidores.
• Permite que el servidor haga
“Push” al cliente.
• Soportado a partir de HTML5
Consideraciones de diseño
Peticiones
concurrentes por
aplicación
Application Queue
Length
18. 23 al 27 de Octubre 2017.NET Conf UY v2017
http://sorteamos.algeiba.com
20. 23 al 27 de Octubre 2017.NET Conf UY v2017
Muchas Gracias!
https://devgirlar.wordpress.com/ https://nicolasgranata.com/
@Nodar_Flor
fnodar@algeiba.com
Florencia Nodar Nicolás Granata
ngranata@algeiba.com
@Nicolasgranata
Editor's Notes
Cuando el código del lado del cliente ejecuta una método del lado del servidor (un acción típica cliente servidor), pasa por Hub de SignalR. El código del lado de servidor ejecuta las acciones codeadas del lado del server y como se observa en la pantalla, luego notifica de alguna actualización a los clientes llamando a un método de cliente. Un paquete es enviado a través de la conexión activa con el nombre del método y los parámetros en forma serializada. El cliente matchea el método definido con el código del lado cliente y si hay coincidencia deserealiza el paquete y ejecuta el método.