Servidor UDP (obrigatório)
ClienteUDP (obrigatório)
Usar api sockets (obrigatório)
Colocar o endereço e porta do servidor
Propor protocolo Ex.: GET /arq
Cliente pode requisitar diferentes arquivos
Transmitir arquivo grande > 10MB
Dividir o arquivo em pedaços(Chunk)? Qual tamanho do buffer usado?
O tamanho do pedaço influencia? Qual a relação com o MTU?
Preciso numerar os pedaços?
Para que colocar checksum?
Servidor tem opção de descartar aleatoriamente um pedaço do arquivo.
Cliente recebe, monta e confere o arquivo recebido do servidor. Usa Hash ou checksum ?
Cliente verifica se faltam partes do arquivo e avisa servidor para re-enviar. Por timer(tempo) e/ou ACK?
Se o arquivo não existir, como avisa o cliente?
Apresenta ERROS. Ex.: Arquivo não encontrado etc.
Use dois clientes simultâneos requisitando arquivos diferentes.
Cliente UDP pode executar antes do servidor?
O que acontece se desligar o servidor durante a transmissão do arquivo e liga-lo depois?