Free YouTube Transcribe

Video transcript

Sockets -- CC4303

I. Bachmann · 823 words · 4 min read

Want to search this transcript, jump the video from any line, or download it as TXT, SRT, or VTT?

Open in the transcript tool

Full transcript

0:00En esta clase vamos a hablar de Sockets.

0:02A nivel de la programación,

0:03un socket corresponde al mecanismo que nos permite hacer que dos procesos pesados se comuniquen entre sí.

0:08"Socket" viene del inglés "enchufe", la idea es que "yo enchufo algo y pasa electricidad, lo desenchufo y ya no pasa".

0:15La electricidad va de un lado a otro.

0:17Pero en redes de comunicaciones lo que tenemos es información.

0:20Los sockets como los conocemos tienen sus orígenes en la Universidad de Berkeley, en el área de la bahía.

0:25Esta zona tiene muchos puertos, camiones, trenes, etc. Muchas redes de distribución.

0:32Estas mueven containers.

0:33Por lo que en su inicio los desarrolladores pensaron en estos paquetes de información cómo “containers de información”.

0:39Entonces, ¿cómo mandamos estos containers de información de un lugar hacia otro?

0:43Veamos lo que tenemos.

0:45Cuando tenemos camiones necesitamos un centro de distribución con zonas de carga y descarga.

0:50En el caso de trenes tenemos el nombre de la estación de trenes y el andén.

0:54Para el caso de puertos tenemos el nombre del puerto y los muelles.

0:57La misma idea se usa más o menos para redes de comunicaciones.

1:01Es decir, hay cuatro valores para saber desde dónde vamos a enviar la información y quiénes la van a recibir.

1:06Los valores serían: la dirección desde donde se envía la información, el puerto de envío,

1:12la dirección de quien lo va a recibir y el puerto en que va a recibirse la información.

1:16Esta información nos va a ayudar a definir un socket según su tipo.

1:21Hay una variedad de tipos de socket, con sus respectivas APIs y servicios.

1:25Pero aquí vamos a estudiar dos:

1:27Sockets orientados a conexión y no orientados a conexión.

1:31Los sockets orientados a conexión se preocupan de establecer un canal de comunicación

1:35que confirme que recibí los mensajes y que confirme si los recibe o no en orden, o que los trate de ordenar.

1:41Luego estos socket quedan definidos en base a los cuatro valores mencionados anteriormente,

1:46es decir, en base a su origen y su destino.

1:49Este tipo de sockets se puede ver en el caso de descargas de videos donde vemos que se va llenando un buffer.

1:55Aquí el canal de comunicación va enviando pedazos de video y al otro lado se va rearmando en orden.

2:02Los sockets no orientados a conexión

2:04simplemente envían la información con su dirección y puerto estampadas y esperan que (ojalá) llegue al otro lado.

2:12En este caso no se establece un canal que pueda asegurarse que llegó todo o que la información llegó en orden,

2:18los datos se enviaron y listo, si llega… llega.

2:21Es por esto que un socket no orientado a conexión va a quedar completamente definido simplemente por su propia dirección,

2:29o la dirección de origen.

2:30Al no establecer canal, su dirección de destino puede cambiar sin problemas.

2:34Este tipo de sockets se utiliza cuando nos interesa que la información llegue lo más rápido posible

2:39y perder un poco de información no es tan terrible.

2:42Un ejemplo de esto son los servicios de videollamadas como Zoom,

2:45donde lo más importante es mantener una comunicación en “tiempo real”

2:50y perder un par de milisegundos no altera demasiado la utilidad del servicio.

2:55¿Cómo funcionan en la práctica estos sockets? Veámoslo con diagramas.

2:59En el caso de sockets orientados a conexión tenemos un servidor quien se encuentra escuchando o esperando conexiones.

3:05Por otro lado, tenemos un cliente, el cual cuenta con su propio socket para comunicarse con el servidor.

3:10Cuando el cliente intenta comunicarse con el servidor, este va a recibir la petición en la dirección establecida

3:16y en caso de aceptar la petición, el servidor establece el canal de comunicación en otro socket con otro puerto

3:22para poder hablar tranquilamente sin dejar el puerto de conexión tomado.

3:26Con esto cliente y servidor comienzan a comunicarse hasta que alguno decida cerrar el canal de comunicación.

3:32Aquí podemos ver un poco más del detalle de cada una de las interacciones mostradas en el diagrama.

3:37Cuando usamos sockets no orientados a conexión, el servidor también va a estar escuchando en un puerto.

3:42Aquí el cliente simplemente manda su mensaje indicando la dirección y el puerto.

3:47Si llega este mensaje al servidor, este va a contener la dirección y puerto del cliente

3:52y, si el servidor quiere, va a poder responderle al cliente en dicha dirección.

3:57De esta forma puede mantener la comunicación entre ambos hasta que alguno decida dejar de contestar.

4:02Como no se estableció un canal de comunicación basta con cerrar el socket,

4:06sin la necesidad de avisarle a nadie que ya no voy a recibir mensajes.

4:11Aquí tenemos el detalle de cada una de las interacciones mostradas en el diagrama.

4:16En esta clase hemos visto

4:17qué son los sockets,

4:18sus orígenes,

4:19cómo funcionan los sockets orientados a conexión y cómo funcionan los sockets no orientados a conexión.

4:26Cualquier duda o consulta, ¡no duden en contactar al equipo docente!

Recently added transcripts

Browse the whole transcript library

This transcript was generated from the captions YouTube publishes for this video. Get the transcript of any YouTube video atfreeyoutubetranscribe.com, free, unlimited, no sign-up.