Protocolo Hftp

Páginas: 5 (1192 palabras) Publicado: 13 de septiembre de 2013
Indice
Introduccion
Especificacion
Diseño
InterfazEntradaSalidaCliente
Parser
Entity Files
InterfazEntradaUsuario
AtenderCliente
EsperarClientes
Implementacion
ClassInterfazEntradaSalidaCliente.py
ClassParser.py
Class InterfazEntradaUsuario.py
Class Entity.py
Servdior.py

Introduccion
Implementar un servidor hftp.
Para el desarrollo de la aplicación se uso una metodologíaorientada a objetos, enseñada por Juan Duran
en Ingenieria de Software II. COMET (Concurrent Object Modeling and architectual design methode).
Designing concurrent, distributed and real-time applications with UML. Hassan Gomaa
No se entrega todos los diagramas que propone la metodología, tampoco se evalúa el diseño, ni se da
métricas de el grado de cohesión de los elementos de la clase y elacoplamiento entre las clases.
Especificacion
Las operación que puede realizar un servidor hftp son las siguientes:
get_file_listing
get_metadata
get_slice
quit
Diseño
La aplicación se dividio en las siguientes clases:
1- enviar y recibir datos del cliente hftp (interfaz entrada salida cliente)

2- parser (clase de tipo algoritmo)
3- una clase que nos abstrae del sistema de archivos ydirectorios (entity)
4- obtener los parámetros que el usuario ingreso (interfaz entrada usuario)
5- atender cliente (clase activa)
6- esperar cliente (clase activa)
Descripcion de las clases:
1- InterfazEntradaSalidaCliente
Con esta clase enviamos y recibimos mensajes del cliente hftp. El contructor de la clase recibe como
parámetro una coneccion, los métodos enviar y recibir se encargan deenviar y recibir los mensajes que
el cliente envía. Esta clase nos permite abstraernos de los detalles del envio y recepción de mensajes,
del reenvio en caso de error, del control de timer, etc.
La signatura de esta clase es la siguiente:
class InterfazEntradaSalidaServidor:
def __init__( connection):
def Enviar( datos):
def Recibir():

2- Parser
El algorimo que parsea el string con los datosrecibidos y nos devuelve el árbol sintaxtico es bastante
complicado por lo que tiene su propia clase de tipo algoritmo. El método parsear, de la clase parser,
recibe como parámetro un string, y devuelve una tupla.
El primer elemento de la tupla que recibe es una lista y el segundo elemento el resto del string que no se
pudo parsear, por que no hay un fin de comando.
La lista que devuelve elmétodo parsear, es una lista de objetos de tipo pedido. Las clases get_slice,
get_metadata, get_file_listing, parametrosMalFormado, comandoNoReconocido,
barraSinUnFinDeInstruccion, heredan de la clase Pedidos. Por lo tanto todos los elementos de la lista
son del mismo tipo, son de tipo Pedido.
Su signatura es la siguiente:
class Parser():
def Parsear(xs):
class Pedido:
classGet_file_listing(Pedido):
class Get_metadata(Pedido):
def Filename():
class Get_slice(Pedido):
def Filename():
def Offset():
def Size():
class Quit(Pedido):
class ComandoNoAceptado(Pedido):

def Detalle():
class ProblemaConArgumentos(Pedido):
def Detalle():
class CaracterBarraNFueraTerminadorDePedido(Pedido):
def Detalle():

3- Entity Files
Esta clase nos abstrae del sistema de archivos ydirectorio, de la forma en que se accede a los archivos.
El constructor de esta clase recibe como parámetro el directorio que se quiere leer. El método
get_file_listing, que tiene el mismo nombre que el comando del protocolo, pero no es lo mismo. Este
método solo nos trae un string con el listado de todos los archivos que contiene el directorio, si no hubo
ningún error en la lectura. Este métodosolo hace eso, no se comunica con el cliente, no envía, ni recibe
mensajes del cliente hftp.
E l método get_metadata recibe como parámetro el nombre de un archivo y si el archivo esta en el
directorio devuelve el tamaño. No se comunica ni recibe mensajes del cliente hftp.
Al método get_slice le pasamos como parámetro un nombre de archivo, un offset y un tamaño del
bloque. El tamaño de bloque...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Protocolos
  • Protocolo
  • Protocolos
  • Protocolo
  • Protocolo
  • Protocolo
  • Protocolo
  • Protocolo

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS