Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ccallazans/trabalho-redes-de-computadores

Aplicação cli que realiza depósito e recuperação de arquivos no modo cliente-servidor via tcp e sockets.
https://github.com/ccallazans/trabalho-redes-de-computadores

client go golang server socket tcp upload

Last synced: 4 days ago
JSON representation

Aplicação cli que realiza depósito e recuperação de arquivos no modo cliente-servidor via tcp e sockets.

Awesome Lists containing this project

README

        

Trabalho - Redes de Computadores I (MATA59)
============
Aplicação cli que realiza depósito e recuperação de arquivos no modo cliente-servidor via tcp e sockets.

100% escrita em Go SEM UTILIZAÇÃO DE DEPENDÊNCIA EXTERNA.

---

## Features
- Deposito
- Recuperação

#### Exemplos
- **Depósito:** O cliente envia um arquivo para o servidor realizar o depósito do mesmo de acordo com a quantidade de replicações indicada. Ex comando: deposito nome_do_arquivo qtd_replicas
- **Recuperação:** O cliente solicita ao servidor a recuperação de um arquivo indicado: Ex comando: recuperacao nome_do_arquivo

---

## Setup
Ter instalado na máquina a linguagem Go 1.18+

Realizar o clone do repositório e executar ambas aplicações de servidor e cliente.

---

## Utilização
Após realizar o clode do projeto, deverá ser inicializado as aplicações de servidor e cliente em terminais diferentes.

Inicializar servidor - `cd server` e `go run .`

Inicializar cliente - `cd client` e `go run .`

No terminal do servidor, é possível visualizar logs dos processos executados.

No terminal do cliente, o usuário deverá enviar os comandos de depósito e recuperação

Cliente:

Para o cliente realizar o envio de arquivos, deverá colocar o arquivo desejado na pasta `./client/arquivos`. (KNOWN BUG: o arquivo não deve conter espaços no nome ex: `nome do arquivo.txt`)

Quando o cliente solicitar a recuperação de um arquivo específico, o arquivo será salvo na pasta `./client/recuperacao`.

Servidor:

Quando o cliente realizar o depósito de algum arquivo, suas réplicas serão salvas na pasta `./server/deposito`.

---

## License
Esse projeto é licensiado sobre as regras da **MIT** license.