Open tm-sm opened 3 months ago
Desde el punto de diseño de protocolos son dos: el tracker y la "aplicación A" son lo mismo. Es una aplicación servidor, que mantiene la ifnformación sobre los que están compartiendo archivos, además de registrar usuarios La aplicación B se refiere a los clientes, que pueden solicitar información al tracker y descargar archivos (funcioando como cliente) como así también responder a solicitudes para entregar archvos propios (funcionando como servidor). Si esto lo quieren separar en dos procesos distintos pueden hacerlo.
Lo que describe el enunciado son los servicios que se deben implementar, la forma en que lo implementan (por ejemplo que para descargar un archivo se debe hacer por línea de comandos, o a través de una menú de opciones) lo decidirá cada grupo.
Leyendo la consigna entendimos que el tracker, la apliación A y la aplicación B son tres programas distintos. Pero estamos teniendo problemas para entender el propósito de cada uno.
El tracker mantiene un registro de archivos, sus peers sus leechers y usuarios.
La aplicación A se encarga de registrarse/iniciar sesión con el tracker y mantener la información que administra actualizada (archivos e ip/puerto del cliente).
La aplicación B se encarga de comunicarse con otras aplicaciónes B para poder ser peer o leecher, antes consultandole al tracker si es un usuario válido (¿a través de la aplicación A?).
Hasta donde entendemos, un usuario que se quiera descargar un archivo tendría que:
Mientras que un usuario que quiera compartir un archivo debería:
¿Es correcto este flujo?