SlideShare una empresa de Scribd logo
Angular +	WebSockets
Alfredo	Bonilla
@brolag
Agenda
• ¿Qué	son	los	WebSockets?
• ¿Cómo	funcionan	los	WebSockets?
• ¿Cuándo	es	una	buena	idea	utilizar	WebSockets?
• Objeto	WebSocket
¿Qué	son	los	WebSockets?
• “WebSockets es	una	tecnología	basada	en	el	protocolo	ws,	este	hace	
posible	establecer	una	conexión	continua	 full-duplex,	entre	un	cliente	
y	servidor.	Un	cliente	websocket podría	ser	el	navegador	del	usuario,	
pero	el	protocolo	es	una	plataforma	independiente.”	– Mozilla	MDN
¿Cómo	funcionan	los	WebSockets?
• Para	establecer	una	conexión	de	WebSocket,	el	cliente	envía	una	
petición	de	negociación,	a	la	cual	el	servidor	responde,	a	esta	se	le	
denomina	handshake.
Cliente Servidor
Handshake
Conexión	bidireccional	persistente
¿Cuándo	utilizar	WebSockets?
• Vienen	a	reemplazar	el	concepto	de	long-polling, en	donde	el	cliente	debía	
enviar	una	petición	al	servidor,	obtener	una	respuesta	e	inmeditamente
enviar	otra	petición	para	mantener	la	conexión	HTTP	abierta.
• Para	mostrar	cambios	y	validaciones	de	datos	en	tiempo	real.
• Excelentes	para	la	implementación	de	aplicaciones	de	baja	latencia	como	
juegos	en	línea.
Objeto	WebSocket
WebSocket WebSocket(
in DOMString url,
in optional DOMString protocols
);
WebSocket WebSocket(
in DOMString url,
in optional DOMString[] protocols
);
Interfaces	de	WebSocket
WebSocket
El	interfaz	principal	para	conectar	a	un	servidor	Websocket y	así	enviar	y	recibir	datos	a	través	de	la	
conexión.
CloseEvent
El	evento	enviado	por	el	objeto	WebSocket cuando	se	cierra	la	conexión.
MessageEvent
El	evento	enviado	por	el	objeto	WebSocket cuando	se	recibe	un	mensaje	enviado	desde	el	servidor.
Interfaces	de	WebSocket
WebSocket
El	interfaz	principal	para	conectar	a	un	servidor	Websocket y	así	enviar	y	recibir	datos	a	través	de	la	
conexión.
CloseEvent
El	evento	enviado	por	el	objeto	WebSocket cuando	se	cierra	la	conexión.
MessageEvent
El	evento	enviado	por	el	objeto	WebSocket cuando	se	recibe	un	mensaje	enviado	desde	el	servidor.
Angular	y	RxJS
La	programación	reactiva	es	un	paradigma	de	programación	asíncrona	
que	abarca	los	flujos	de	datos	la	propagación	de	los	cambios.	RxJS es	
una	librería	de	JavaScript	que	utiliza	observables que	facilita	el	manejo	
del	llamados	asíncronos	y	el	código	basado	en	call-backs.
Observables
Permiten	pasar	mensajes	a	subscriptores,	permiten	el	manejo	de	
múltiples	valores	y	eventos	de	manera	síncrona	o	asíncrona.	Define	una	
función	para	publicar	valores	que	pueden	ser	mensajes,	literales	o	
eventos.	En	otras	palabras,	es	posible	suscribirse	a	un	observable	y	
cuando	los	valores	están	listos,	este	va	a	emitirlos	a	un	subscriptor.
Subjects
• Son	como	los	observables	en	el	sentido	de	que	permiten	
subscriciones,	tienen	los	métodos	next(), error() y	
complete() con	la	diferencia	que	permiten	emitir	valores	a	
múltiples	subscriptores	en	una	misma	ejecución	y	no	en	ejecuciones	
separadas	con	es	el	caso	de	los	observables.
Patrón	Observer
Uniendo	todos	los	conceptos
Cliente
https://github.com/brolag/websockets-client
Servidor
https://github.com/brolag/websockets-server
¡Conversemos!
Alfredo Bonilla
Web Developer – Gorilla Logic
Instagram: @brolag
Twitter: @brolag
www.brolag.com

Más contenido relacionado

Similar a Angular + WebSockets

Aplicaciones Web SPA con WebAPI y TypeScript
Aplicaciones Web SPA con WebAPI y TypeScriptAplicaciones Web SPA con WebAPI y TypeScript
Aplicaciones Web SPA con WebAPI y TypeScript
Luis Guerrero
 
Introduccion SignalR
Introduccion SignalRIntroduccion SignalR
Introduccion SignalR
Diego Juez Lasarte
 
Estrategias Web para notifiaciones
Estrategias Web para notifiacionesEstrategias Web para notifiaciones
Estrategias Web para notifiaciones
Mariano German Egui
 
Realtime nodejs socket io
Realtime nodejs   socket ioRealtime nodejs   socket io
Realtime nodejs socket io
Jose Gratereaux
 
Realtime Apps en .NET Core by Carlos Landeras y Manuel Rodrigo Cabello
Realtime Apps en .NET Core by Carlos Landeras y Manuel Rodrigo CabelloRealtime Apps en .NET Core by Carlos Landeras y Manuel Rodrigo Cabello
Realtime Apps en .NET Core by Carlos Landeras y Manuel Rodrigo Cabello
Plain Concepts
 
Plainconcepts .Net Core Event - Real Time Applications
Plainconcepts .Net Core Event - Real Time ApplicationsPlainconcepts .Net Core Event - Real Time Applications
Plainconcepts .Net Core Event - Real Time Applications
Carlos Landeras Martínez
 
12-Unidad 3: Webservices-3.3 Inicio del Proyecto
12-Unidad 3: Webservices-3.3 Inicio del Proyecto12-Unidad 3: Webservices-3.3 Inicio del Proyecto
12-Unidad 3: Webservices-3.3 Inicio del Proyecto
Luis Fernando Aguas Bucheli
 
[Code Camp 2009] Aplicaciones de tiempo real con Silverlight y ASP.NET - COME...
[Code Camp 2009] Aplicaciones de tiempo real con Silverlight y ASP.NET - COME...[Code Camp 2009] Aplicaciones de tiempo real con Silverlight y ASP.NET - COME...
[Code Camp 2009] Aplicaciones de tiempo real con Silverlight y ASP.NET - COME...
Microsoft Argentina y Uruguay [Official Space]
 
ASP.NET MVC
ASP.NET MVCASP.NET MVC
ASP.NET MVC
Rodolfo Finochietti
 
Conceptos basicos
Conceptos basicosConceptos basicos
Conceptos basicos
luisbravo1994
 
Mapa Conceptual Servidores web
Mapa Conceptual Servidores webMapa Conceptual Servidores web
Mapa Conceptual Servidores web
Arturo_09
 
Patrones Arquitecturales Para Aplicaciones Web
Patrones Arquitecturales Para Aplicaciones WebPatrones Arquitecturales Para Aplicaciones Web
Patrones Arquitecturales Para Aplicaciones Web
guesta7f40
 
Servidores web o http
Servidores web o httpServidores web o http
Servidores web o http
Jesús Baltan Ramírez
 
Sistemas Distribuidos basados en la Web
Sistemas Distribuidos basados en la WebSistemas Distribuidos basados en la Web
Sistemas Distribuidos basados en la Web
Tensor
 
Clase17(introduccion a la web)
Clase17(introduccion a la web)Clase17(introduccion a la web)
Clase17(introduccion a la web)
Tensor
 
5-Unidad 2: Diseños de Vista-2.2 Para Web
5-Unidad 2: Diseños de Vista-2.2 Para Web5-Unidad 2: Diseños de Vista-2.2 Para Web
5-Unidad 2: Diseños de Vista-2.2 Para Web
Luis Fernando Aguas Bucheli
 
Web Services en .NET Compact Framework
Web Services en .NET Compact FrameworkWeb Services en .NET Compact Framework
Web Services en .NET Compact Framework
UTPc09071
 
Programación Reactiva, Javascript Isomorfo y Meteorjs !
Programación Reactiva, Javascript Isomorfo y Meteorjs !Programación Reactiva, Javascript Isomorfo y Meteorjs !
Programación Reactiva, Javascript Isomorfo y Meteorjs !
ouuyeah
 
Introducción a SignalR
Introducción a SignalRIntroducción a SignalR
Introducción a SignalR
Mariano Sánchez
 
PROTOCOLO HTTP 1.pptx
PROTOCOLO HTTP 1.pptxPROTOCOLO HTTP 1.pptx
PROTOCOLO HTTP 1.pptx
KleinerEmmanuel
 

Similar a Angular + WebSockets (20)

Aplicaciones Web SPA con WebAPI y TypeScript
Aplicaciones Web SPA con WebAPI y TypeScriptAplicaciones Web SPA con WebAPI y TypeScript
Aplicaciones Web SPA con WebAPI y TypeScript
 
Introduccion SignalR
Introduccion SignalRIntroduccion SignalR
Introduccion SignalR
 
Estrategias Web para notifiaciones
Estrategias Web para notifiacionesEstrategias Web para notifiaciones
Estrategias Web para notifiaciones
 
Realtime nodejs socket io
Realtime nodejs   socket ioRealtime nodejs   socket io
Realtime nodejs socket io
 
Realtime Apps en .NET Core by Carlos Landeras y Manuel Rodrigo Cabello
Realtime Apps en .NET Core by Carlos Landeras y Manuel Rodrigo CabelloRealtime Apps en .NET Core by Carlos Landeras y Manuel Rodrigo Cabello
Realtime Apps en .NET Core by Carlos Landeras y Manuel Rodrigo Cabello
 
Plainconcepts .Net Core Event - Real Time Applications
Plainconcepts .Net Core Event - Real Time ApplicationsPlainconcepts .Net Core Event - Real Time Applications
Plainconcepts .Net Core Event - Real Time Applications
 
12-Unidad 3: Webservices-3.3 Inicio del Proyecto
12-Unidad 3: Webservices-3.3 Inicio del Proyecto12-Unidad 3: Webservices-3.3 Inicio del Proyecto
12-Unidad 3: Webservices-3.3 Inicio del Proyecto
 
[Code Camp 2009] Aplicaciones de tiempo real con Silverlight y ASP.NET - COME...
[Code Camp 2009] Aplicaciones de tiempo real con Silverlight y ASP.NET - COME...[Code Camp 2009] Aplicaciones de tiempo real con Silverlight y ASP.NET - COME...
[Code Camp 2009] Aplicaciones de tiempo real con Silverlight y ASP.NET - COME...
 
ASP.NET MVC
ASP.NET MVCASP.NET MVC
ASP.NET MVC
 
Conceptos basicos
Conceptos basicosConceptos basicos
Conceptos basicos
 
Mapa Conceptual Servidores web
Mapa Conceptual Servidores webMapa Conceptual Servidores web
Mapa Conceptual Servidores web
 
Patrones Arquitecturales Para Aplicaciones Web
Patrones Arquitecturales Para Aplicaciones WebPatrones Arquitecturales Para Aplicaciones Web
Patrones Arquitecturales Para Aplicaciones Web
 
Servidores web o http
Servidores web o httpServidores web o http
Servidores web o http
 
Sistemas Distribuidos basados en la Web
Sistemas Distribuidos basados en la WebSistemas Distribuidos basados en la Web
Sistemas Distribuidos basados en la Web
 
Clase17(introduccion a la web)
Clase17(introduccion a la web)Clase17(introduccion a la web)
Clase17(introduccion a la web)
 
5-Unidad 2: Diseños de Vista-2.2 Para Web
5-Unidad 2: Diseños de Vista-2.2 Para Web5-Unidad 2: Diseños de Vista-2.2 Para Web
5-Unidad 2: Diseños de Vista-2.2 Para Web
 
Web Services en .NET Compact Framework
Web Services en .NET Compact FrameworkWeb Services en .NET Compact Framework
Web Services en .NET Compact Framework
 
Programación Reactiva, Javascript Isomorfo y Meteorjs !
Programación Reactiva, Javascript Isomorfo y Meteorjs !Programación Reactiva, Javascript Isomorfo y Meteorjs !
Programación Reactiva, Javascript Isomorfo y Meteorjs !
 
Introducción a SignalR
Introducción a SignalRIntroducción a SignalR
Introducción a SignalR
 
PROTOCOLO HTTP 1.pptx
PROTOCOLO HTTP 1.pptxPROTOCOLO HTTP 1.pptx
PROTOCOLO HTTP 1.pptx
 

Último

TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptxTARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
dayronfabricioruizmo
 
primer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporteprimer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporte
eliersin13
 
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
micarnavaltupatrimon
 
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
micarnavaltupatrimon
 
Buscador de Eventos y Fiestas en España - Buscafiesta
Buscador de Eventos y Fiestas en España - BuscafiestaBuscador de Eventos y Fiestas en España - Buscafiesta
Buscador de Eventos y Fiestas en España - Buscafiesta
holabuscafiesta
 
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
Maria Celeste Trujillo Cruz
 
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcelherramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
Eduardo455921
 
Introduccion al Lenguaje de Programación C++
Introduccion al Lenguaje de Programación  C++Introduccion al Lenguaje de Programación  C++
Introduccion al Lenguaje de Programación C++
PaulDelgadoSoto
 

Último (8)

TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptxTARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
 
primer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporteprimer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporte
 
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
 
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
 
Buscador de Eventos y Fiestas en España - Buscafiesta
Buscador de Eventos y Fiestas en España - BuscafiestaBuscador de Eventos y Fiestas en España - Buscafiesta
Buscador de Eventos y Fiestas en España - Buscafiesta
 
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
 
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcelherramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
 
Introduccion al Lenguaje de Programación C++
Introduccion al Lenguaje de Programación  C++Introduccion al Lenguaje de Programación  C++
Introduccion al Lenguaje de Programación C++
 

Angular + WebSockets