Descrição
Nesta atividade de laboratório desenvolva um programa de
sincronização de arquivos entre dois computadores. O programa deve comparar
dois diretórios (e seus subdiretórios) localizando os arquivos que têm em um
e não tem no outro computador para realizar a sincronização. Caso um arquivo
esteja em ambos diretórios, o mais recente deve prevalecer em ambas máquinas.
O programa deve ter uma opção que permita ao usuário
interagir no processo de sincronização, ou seja, decidir se um arquivo vai
mesmo ser copiado de uma máquina para outra.
Implementação
O programa deve ser
instalado em ambas máquinas e a comunicação deve ser implementada usando
TCP/IP.
Uma
requisição deve estar encapsulada em um objeto Request,
esse objeto deve conter como atributo a requisição (ex. obter lista dos
arquivos de um diretório ou download ou upload de um arquivo) e os parâmetros
da requisição (p.ex. um path). A outra máquina, ao receber o objeto Request, deve extrair a requisição e executá-la. Ao
termino da execução, o servidor deve criar a resposta (um objeto Reply) para enviar à máquina que fez a requisição. Dentro
do objeto Reply deve conter um atributo que
possibilite colocar um arquivo (p.ex. um array de
bytes), caso a requisição seja de download. Use ObjectOutputStream
e ObjectInputStream para serializar o objeto Request/Reply na comunicação
cliente/servidor.
Separe claramente código de
comunicação do código de aplicação.
Para
implementar a busca, utilizar o pacote java.io.File.
Pesquise
as classes java.net.*,
FileOutputStream, FileInputStream, ObjectOutputStream, ObjectInputStream para implementar o trabalho.
Apresentação
A atividade deve ser desenvolvida individualmente.
O programa deve ser apresentado ao professor no laboratório
no dia 13/11. Os trabalhos podem ser enviados por e-mail dentro dos
prazos para posterior defesa a ser marcado com o professor. Será verificado o
funcionamento do programa e em seguida os alunos devem responder a questões
sobre o código do programa referentes ao uso de mecanismos de comunicação
entre processos.
Trabalhos entregues com atraso terão
desconto automático de 2 pontos por semana de atraso. Após a segunda semana
(14 dias após o fim do prazo original), o trabalho não mais será aceito, ou
seja, terá nota zero. Em caso de cópia do código de outro aluno, ambos terão
nota igual a zero.
Dúvidas
Atendimento aos Alunos
- Horário: Terças-feiras das
16:00 às 17:40.
- Local: Prédio do INE - Sala
305.
E-Mail
l a u . l u n g @ i n f .
u f s c . b r
Mantida por Lau Cheuk Lung. Atualizada em 06/10/2013.
|