TP 1 de Introducción a Sistemas Distribuidos - Grupo A5
- 105103 - Franco Gazzola
- 106010 - Federico Martín Valsagna Indri
- 107205 - Eliana Harriet
- 108026 - Tomas Emanuel
- 108193 - Tomás González
- 101640 - Ramos Federico
Antes de ejecutar el programa, es necesario contar con la biblioteca que habilita la visualización de la barra de progreso.
$ pip install alive_progress
El server acepta los siguientes flags:
-H
para indicar la IP en la que escuchará conexiones.-p
para indicar el puerto en el que escuchará conexiones.-s
para indicar el directorio en el que se guardarán los archivos.-v
para indicar que se desea que el servidor imprima por pantalla los eventos que ocurren.-q
para indicar que se desea que el servidor no imprima por pantalla los eventos que ocurren. (Por defecto)-r
para indicar que el protocolo de transferencia sea Selective Repeat, de lo contrario será Stop and Wait.
Ejemplo de ejecución usando Selective Repeat:
$ python3 -m start_server -r -v -H 127.0.0.1 -p 6000 -s "./server_files/"
Puede correrse ese mismo comando de la forma make server_sr
Ejemplo de ejecución usando Stop and Wait:
$ python3 -m start_server -v -H 127.0.0.1 -p 6000 -s "./server_files/"
Puede correrse ese mismo comando de la forma make server_sw
El cliente para modo upload acepta los siguientes flags:
-H
para indicar la IP del servidor al que se conectará.-p
para indicar el puerto del servidor al que se conectará.-s
para indicar el archivo que se desea subir.-n
para indicar el nombre con el que se guardará el archivo en el servidor.-v
para indicar que se desea que el cliente imprima por pantalla los eventos que ocurren.-q
para indicar que se desea que el cliente no imprima por pantalla los eventos que ocurren. (Por defecto)-r
para indicar que el protocolo de transferencia sea Selective Repeat, de lo contrario será Stop and Wait.
Ejemplo de ejecución usando Selective Repeat:
$ python3 -m uploader -r -v -H 127.0.0.1 -p 6000 -s $(p) -n $(n)
Puede correrse ese mismo comando de la forma make upload_sr p="archivo_a_subir" n="nombre_archivo_servidor"
Ejemplo de ejecución usando Stop and Wait:
$ python3 -m uploader -v -H 127.0.0.1 -p 6000 -s $(p) -n $(n)
Puede correrse ese mismo comando de la forma make upload_sw p="archivo_a_subir" n="nombre_archivo_servidor"
El cliente para modo download acepta los siguientes flags:
-H
para indicar la IP del servidor al que se conectará.-p
para indicar el puerto del servidor al que se conectará.-n
para indicar el nombre del archivo que se desea descargar.-d
para indicar el path en el que se guardará el archivo descargado.-v
para indicar que se desea que el cliente imprima por pantalla los eventos que ocurren.-q
para indicar que se desea que el cliente no imprima por pantalla los eventos que ocurren. (Por defecto)-r
para indicar que el protocolo de transferencia sea Selective Repeat, de lo contrario será Stop and Wait.
Ejemplo de ejecución usando Selective Repeat:
$ python3 -m downloader -r -v -H 127.0.0.1 -p 6000 -d $(p) -n $(n)
Puede correrse ese mismo comando de la forma make download_sr p="archivo_a_descargar" n="nombre_archivo_servidor"
Ejemplo de ejecución usando Stop and Wait:
$ python3 -m downloader -v -H 127.0.0.1 -p 6000 -d $(p) -n $(n)
Puede correrse ese mismo comando de la forma make download_sw p="archivo_a_descargar" n="nombre_archivo_servidor"
El cliente para modo list acepta los siguientes flags:
-H
para indicar la IP del servidor al que se conectará.-p
para indicar el puerto del servidor al que se conectará.
Ejemplo de ejecución:
$ python3 -m client_ls -H 127.0.0.1 -p 6000
Puede correrse ese mismo comando de la forma make ls