Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Descripción de Sockets: Clientes, Servidores y Conexiones Concurrentes, Apuntes de Aplicaciones Multimedia

Los conceptos básicos de sockets, su estructura y las diferencias entre clientes y servidores en el API de sockets. Además, se explica el proceso de conexión entre clientes y servidores con ejemplos de conexiones concurrentes. Se incluyen conceptos relacionados como sockets activos y pasivos, y se utiliza el comando netstat para observar las conexiones establecidas.

Tipo: Apuntes

2020/2021

Subido el 05/05/2021

ainhoa-garcia-cortizo
ainhoa-garcia-cortizo 🇪🇸

5

(1)

1 documento

1 / 6

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
LABORATORIOS APLICACIONES TELEMATICAS
Para describir un socket:
struct sockaddr_in {
u_char sin_len; /* total length */
u_short sin_family; /* AF_INET: address family */
u_short sin_port; /* port number */
struct in_addr sin_addr; /* IP address(u_long) */
char sin_zero; /* not used (0) */
}
sin_port indica el puerto asociado a esa terminación. Si se trata de un servidor (socket pasivo)
indica el puerto en el que escucha dicho socket pasivo. Si se trata de un cliente (socket activo)
indica el puerto con el que se quiere contactar.
-Diferencias entre cliente y servidor en el API de sockets:
Los sockets de cliente o activos son aquellos que permite conectar a un servidor y usar los
métodos read y write para leer o escribir de la conexión.
Los sockets pasivos o de servidor son aquellos que permiten asociarse (bind) a una dirección y
esperar a que lleguen conexiones entrantes (listen). Dependiendo del criterio del servidor,
estas conexiones podrán (o no) aceptarse (accept).
Si la conexión entrante se acepta en el servidor, la llamada a accept dará como resultado un
socket activo que permitirá escribir o leer de él. Mientras tanto, el servidor regresará para
aceptar más conexiones.
Como resultado de aceptar una conexión, se crea otro socket activo que representa en el
servido la conexión con el cliente. Por tanto:
habrá un único socket pasivo en un servidor
habrá tantos sockets activos como clientes conectados
si el servidor tiene que leer o escribir datos del/al cliente, usará el socket activo
asociado a dicho cliente
pf3
pf4
pf5

Vista previa parcial del texto

¡Descarga Descripción de Sockets: Clientes, Servidores y Conexiones Concurrentes y más Apuntes en PDF de Aplicaciones Multimedia solo en Docsity!

LABORATORIOS APLICACIONES TELEMATICAS

Para describir un socket: struct sockaddr_in { u_char sin_len; /* total length / u_short sin_family; / AF_INET: address family / u_short sin_port; / port number / struct in_addr sin_addr; / IP address(u_long) / char sin_zero; / not used (0) */ } sin_port indica el puerto asociado a esa terminación. Si se trata de un servidor (socket pasivo) indica el puerto en el que escucha dicho socket pasivo. Si se trata de un cliente (socket activo) indica el puerto con el que se quiere contactar. -Diferencias entre cliente y servidor en el API de sockets: Los sockets de cliente o activos son aquellos que permite conectar a un servidor y usar los métodos read y write para leer o escribir de la conexión. Los sockets pasivos o de servidor son aquellos que permiten asociarse (bind) a una dirección y esperar a que lleguen conexiones entrantes (listen). Dependiendo del criterio del servidor, estas conexiones podrán (o no) aceptarse (accept). Si la conexión entrante se acepta en el servidor, la llamada a accept dará como resultado un socket activo que permitirá escribir o leer de él. Mientras tanto, el servidor regresará para aceptar más conexiones. Como resultado de aceptar una conexión, se crea otro socket activo que representa en el servido la conexión con el cliente. Por tanto:  habrá un único socket pasivo en un servidor  habrá tantos sockets activos como clientes conectados  si el servidor tiene que leer o escribir datos del/al cliente, usará el socket activo asociado a dicho cliente

Sockets activos Los sockets activos son aquellos usados para enviar datos. Conocidos los datos del extremo con el que se quiere conectar (en el caso de TCP hay que conocer la IP y el puerto de destino) puede crearse un socket activo (con la función socket) que creará la conexión entre el cliente y el servidor (tras llamar a connect). Una vez creada la conexión, dicho socket podrá usarse para enviar/recibir datos al/del servidor. Usando read y write. Sockets pasivos Los sockets pasivos son sockets de servidor. Simplemente escuchan nuevas conexiones y si una conexión entrante se acepta, se crea un socket activo para atenderla. Tras llamar a listen() se deberá llamar a accept(). Accept es bloqueante, el flujo de ejecución parará en accept hasta que llegue una conexión. Como se muestra en el la figura anterior, la secuencia resumida de llamadas al sistema es para un socket pasivo es socket() -> bind() -> listen() -> accept()

2.CONCURRENT SERVERS:

Primero conectamos el servidor con ./TCPechod 8xxx y conectamos los dos clientes al servidor usando ./TCPecho 8xxx.

You can connect and disconnect the client without any problem. This is what you see using netstat -tn. Using this you can see the protocol, the local address (our server) , the foreign address and the state of the connections.

  1. With this version of the server, do you observe the problem that the original sequential server had in section 5 of the first part of the sockets assignment (sequential sockets)? Why?

PRACTICA EMAIL

Le das a enter en el terminal que pones mail y te sale el correo. Cabecereras: X-original-to: Todos los campos no estan definidos en la norma. Hay campos que sí lo están y tienen una finalidad predefinida; otros, en cambio, no y los clientes y servidores pueden añadirlos a voluntad asignándole el significado que consideren oportuno. En estos el nombre suele empezar por la letra X- , aunque no es obligatorio. DKIM-signature: DKIM añade una cabecera llamada "DKIM-Signature" que contiene una firma digital del contenido (cabeceras y cuerpo) del mensaje. Los parámetros por defecto del mecanismo de autenticación son la utilización de SHA-256 como la firma criptográfica y RSA como el esquema de criptografía asimétrica. Finalmente se codifica la firma resultante con Base64. Date: cuando se ha enviado From: quien lo ha enviado Enviad un correo indicando que se desea recibir por parte del emisor un mensaje de notificación de estado de entrega (DSN) que debe ser proporcionado por el servidor SMTP de la dirección de correo destino.