La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Arquitectura cliente-servidor

Presentaciones similares


Presentación del tema: "Arquitectura cliente-servidor"— Transcripción de la presentación:

1 Arquitectura cliente-servidor
Universidad Tecnológica Nacional Facultad Regional Buenos Aires Ingeniería en Sistemas de Información Sistemas Operativos Sockets Arquitectura cliente-servidor

2 Sockets – Introducción
Socket (enchufe) Canal de comunicación entre procesos no emparentados Socket El proceso padre y el hijo comparten las variables y los descriptores. Estos eventualmente pueden ser usados para comunicarse Dos procesos sin relación de parentesco no pueden compartir información, mucho menos si estos están en computadoras diferentes.

3 Sockets – Ejemplo Ejemplo de comunicación de dos procesos
Send(“Hola Mundo”…); Recv(variable…); Sistema Operativo Sistema Operativo Componente de Red Componente de Red

4 Sockets – Estados 1) Crear socket 2) Asociar a una IP y puerto
3) Configurar el estado de escucha y esperar conexiones Servidor 4) Crear socket …………………… 5) Conectar a IP y puerto 6) Aceptar conexión y asignar un descriptor único para esa conexión Cliente

5 Sockets – Comandos 1) Int iSock = socket(…);
2) bind(iSock, {ip/puerto}); 3) listen(iSock); Servidor 4) Int cliSock = socket(…); 5) connect(cliSock, {ip/puerto}); 6) Int newSock = accept(iSock); Cliente Conexión Establecida!

6 Sockets – Ejemplo Inicio / Ejecutar... / cmd
# telnet 80 GET / HTTP/1.1 Host:

7 Sockets – Send/Recv send(newSock, buffer); recv(cliSock, buffer);
Conexión Establecida! Servidor Cliente send(newSock, buffer); recv(cliSock, buffer); recv(newSock, buffer); send(cliSock, buffer);

8 Sockets – netstat # netstat -na # netstat –nap (incluye el proceso)
Proto Recv-Q Send-Q Local Address Foreign Address State tcp : :* LISTEN tcp : :* LISTEN tcp : :* LISTEN tcp : :* LISTEN tcp : : ESTABLISHED tcp : : ESTABLISHED tcp : : ESTABLISHED tcp ::: :::* LISTEN udp : :* udp : :* udp : :* udp : :* # netstat –nap (incluye el proceso)

9 Un solo proceso, funciones bloqueantes, varios sockets simultáneos
Sockets – Problema Un solo proceso, funciones bloqueantes, varios sockets simultáneos Servidor connect(); connect(); send(); sock1= accept(iSock); recv(sock1); sock2= accept(iSock); recv(sock2); ? connect();

10 Un solo proceso, funciones bloqueantes, varios sockets simultáneos
Sockets – Problema Un solo proceso, funciones bloqueantes, varios sockets simultáneos Varios threads? No se puede? Sockets con select? Varios procesos? Polling?


Descargar ppt "Arquitectura cliente-servidor"

Presentaciones similares


Anuncios Google