sockets
Sockets5
Tema525
Introducción
5
Sockets
Introducción
5
• Comunicación5entre5procesos5(IPC)5
• Sockets:5Uso5de5la5red.5API5entre5capa5de5
aplicación5y5transporte5Server
user
space
ports
TCP/UDP
TCP/UDP
Socket API
Universidad5de5Alicante5
Grado5en5Ingeniería5Mul1media5
Sockets5
Tema525
Introducción
5
• Concepto5de5puerto:5Universidad5de5Alicante5
– Entre5procesos5de5un5
mismo5equipo5
Tema525
Universidad5de5Alicante5
Sockets5
Universidad5de5Alicante5
Sockets5
Tema525
Funcionamiento
5
• Existe5una5similitud5entre5un5socket5y5un5
descriptor5de5archivo5
– Comunicación5bidireccional5
– Confiable5(entrega5garan1zada)5
– Información5ordenada5en5el5des1no5
– U1liza5TCP$
• Datagrama5(SOCK_DGRAM)5
EQUIPO 2
SALIDA
• >=0: Bytes enviados
• -1: Error
Proceso 1
EJEMPLO
– Comunicación5bidireccional5
– No5confiable5(entrega5no5garan1zada)5
– Información5desordenada5en5el5des1no5
– U1liza5UDP$
Proceso 2
char Buffer[11]=“Mi mensaje”;
int TamEnviado;
TamEnviado = write(Descriptor, Buffer, 11);
if (TamEnviado == -1)
{
Sistemas5Distribuidos5
printf("Error\n");}
Universidad5de5Alicante5
Sockets5
SERVIDOR
socket
accept
Consideraciones
5
listen
bind
• ¿Cómo5sabe5el5servidor5con5qué5cliente5está5
Prepara un socket para
comunicándose?5aceptar peticiones
ENTRADA
ENTRADA
• Dominio:
ENTRADA
• ¿Por5qué5la5llamada5accept5devuelve5un5descriptor5de5
• Socket
• AF_UNIX: Local
• socket
• Dirección
archivo?5
• AF_INET:Internet
• Tamaño de la cola
• Tamaño dirección
• Tipo:
• ¿Cuándo5podemos5leer/escribir5datos?5¿Desde5la5 SALIDA
• SOCK_STREAM
SALIDA
• SOCK_DGRAM
• 0: Correcto
• 0: Éxito
llamada5socket?55Error• Protocolo: 0
• -1: Error
• -1:
• I/O5socket:55 EJEMPLO
SALIDA
EJEMPLO
CLIENTE
socket
"
connect
write
send
sendto
write
send
sendto
read
recv
recvfrom
• -1: Error...
Regístrate para leer el documento completo.