SlideShare una empresa de Scribd logo
1 de 14
Descargar para leer sin conexión
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

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 ProyectoLuis Fernando Aguas Bucheli
 
Mapa Conceptual Servidores web
Mapa Conceptual Servidores webMapa Conceptual Servidores web
Mapa Conceptual Servidores webArturo_09
 
Patrones Arquitecturales Para Aplicaciones Web
Patrones Arquitecturales Para Aplicaciones WebPatrones Arquitecturales Para Aplicaciones Web
Patrones Arquitecturales Para Aplicaciones Webguesta7f40
 
Sistemas Distribuidos basados en la Web
Sistemas Distribuidos basados en la WebSistemas Distribuidos basados en la Web
Sistemas Distribuidos basados en la WebTensor
 
Clase17(introduccion a la web)
Clase17(introduccion a la web)Clase17(introduccion a la web)
Clase17(introduccion a la web)Tensor
 
Web Services en .NET Compact Framework
Web Services en .NET Compact FrameworkWeb Services en .NET Compact Framework
Web Services en .NET Compact FrameworkUTPc09071
 
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
 
20190427 arquitectura de microservicios con contenedores
20190427 arquitectura de microservicios con contenedores20190427 arquitectura de microservicios con contenedores
20190427 arquitectura de microservicios con contenedoresRicardo González
 
WebRTC y Kurento en el T3cgFest 2015
WebRTC y Kurento en el T3cgFest 2015WebRTC y Kurento en el T3cgFest 2015
WebRTC y Kurento en el T3cgFest 2015Micael Gallego
 

Similar a Angular WebSockets (20)

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
 
20190427 arquitectura de microservicios con contenedores
20190427 arquitectura de microservicios con contenedores20190427 arquitectura de microservicios con contenedores
20190427 arquitectura de microservicios con contenedores
 
S6-DAW-2022S1.pptx
S6-DAW-2022S1.pptxS6-DAW-2022S1.pptx
S6-DAW-2022S1.pptx
 
Cliente servidor
Cliente servidorCliente servidor
Cliente servidor
 
presenjava.ppt
presenjava.pptpresenjava.ppt
presenjava.ppt
 
WebRTC y Kurento en el T3cgFest 2015
WebRTC y Kurento en el T3cgFest 2015WebRTC y Kurento en el T3cgFest 2015
WebRTC y Kurento en el T3cgFest 2015
 
Modelo cliente/servidor
Modelo cliente/servidorModelo cliente/servidor
Modelo cliente/servidor
 

Angular WebSockets