Socket

Páginas: 2 (461 palabras) Publicado: 16 de abril de 2012
Práctica III – Cliente y servidor de FTP

Laboratorio de Comunicación de Datos ITTT - Noviembre 2008

Práctica III

Arquitectura básica del servidor
Abre canal de comunicación (socket + bind)Lee orden UDP

¿Hay datos?

 Crea el canal UDP para órdenes  Mantiene una lista de sesiones abiertas y otra de transferencias activas  En cada iteración
 Comprueba si hay alguna orden encola. Si es así, la procesa  Envía un bloque por cada transferencia activa

Procesa orden UDP

Procesa transferencias activas (1 bloque)

1

Práctica III

Arquitectura básica del cliente
Abrecanal de comunicación (socket + bind) Lee e interpreta orden de la entrada estándar (strtok) Envía orden al servidor y espera a recibir respuesta ¿Transferencia? Conecta con socket TCP proporcionadopor servidor Transferencia de datos

 Crea el canal UDP para órdenes  Interpreta (parsea) las órdenes recibidas por la entrada estándar  Envía órdenes al servidor, y espera la respuesta.  Si lasórdenes implican transferencia, conecta con el socket TCP que el servidor le asocia para transferir

Inicio de sesión

Inicio de sesión
 El cliente envía un paquete OPEN (user, password)  Elservidor verifica:
 Que los datos del usuario son correctos  Que no se ha alcanzado el número máximo de sesiones

 El servidor responde con ACK o NACK según corresponda

2

Inicio de sesiónRecepción no bloqueante
 Varios clientes acceden al servicio simultáneamente
 Necesario comprobar en cada iteración si se han enviado órdenes  Problema: recvfrom()se bloquea hasta que llegauna orden

 Solución: hacer que el socket UDP sea no bloqueante
#include fcntl(socket, F_SETFL, O_NONBLOCK);

 Si no hay datos en la cola del socket UDP, recvfrom()devuelve -1 con código de errorEAGAIN

Inicio de sesión

Envío de estructuras
 TCP está orientado al envío de flujos de bytes no estructurados  Cuando se intentan enviar flujos estructurados surgen problemas
 ¿Cómo se...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • socket
  • Socket
  • Socket
  • El Socket
  • Socket de microprosesadores
  • SOCKET EN JAVA
  • Tipos De Socket
  • 07 Socket

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS