Descrição
Primeiramente, você deve
aprender a utilizar tipos diferentes de sockets executando três
versões de uma aplicação simples de envio de mensagens. Em seguida, você deve
implementar um mecanismo de backup automático de arquivos pela rede utilizando
sockets para comunicação.
Aula Prática
Execute cada uma das aplicações
abaixo e examine o seu código com atenção, para entender o seu funcionamento:
· Socket
datagrama:
- salve o servidor e o cliente dentro de uma pasta
chamada DatagramSockets;
- compile o código da
aplicação com o comando javac DatagramSockets/*.java
- execute o servidor
com o comando java DatagramSockets.Server
- execute o cliente
com o comando java DatagramSockets.Client
- digite uma mensagem
na parte superior da janela do cliente e tecle ENTER para enviá-la para o
servidor em um datagrama UDP; a mensagem será recebida pelo servidor e
enviada de volta ao cliente.
· Socket
multicast:
- salve o cliente dentro de uma pasta
chamada MulticastSockets;
- compile o código da
aplicação com o comando javac MulticastSockets/*.java
- execute duas ou
mais instâncias do programa;
- digite uma mensagem
na parte superior da janela de qualquer um dos clientes e tecle ENTER para
enviá-la a todos os clientes usando UDP multicast.
·
Socket stream:
- salve o servidor e o cliente dentro de uma pasta chamada Sockets;
- compile o código da
aplicação com o comando javac Sockets/*.java
- execute o servidor
com o comando java Sockets.Server
- execute o cliente
com o comando java Sockets.Client
- a conexão TCP entre
o cliente e o servidor será estabelecida automaticamente;
- digite mensagens na
parte superior da janela do cliente e tecle ENTER para enviá-las ao servidor;
faça o mesmo no servidor para enviar mensagens ao cliente.
Trabalho
1
O trabalho a ser desenvolvido consiste em implementar um
mecanismo de backup automático pela rede.
Imagine que você deseja efetuar cópias de segurança dos seus
arquivos de usuário armazenados em um dispositivo móvel (notebook, tablet,
smartphone, etc.) sempre que tiver acesso pela rede ao seu computador desktop
de casa e/ou do trabalho. Ao se conectar à rede, o dispositivo móvel deve
enviar uma mensagem para um endereço de multicast com o intuito de
localizar os computadores que possuem o serviço de backup. Estes devem
responder enviando um datagrama no qual será especificado o endereço IP e a
porta do serviço de backup. O dispositivo móvel pode então estabelecer
uma conexão com o serviço de backup e transmitir os arquivos cujas
cópias de segurança serão armazenadas no computador.
Para testar a sua implementação, você pode executar tanto
o cliente (programa que rodaria no dispositivo móvel) quanto o servidor de backup
(programa que rodaria no desktop) no mesmo computador. Faça com que o
cliente sempre efetue o backup de arquivos contidos em uma determinada
pasta, cujo conteúdo você deve alterar para testar o funcionamento do serviço.
Avaliação
A atividade deve ser desenvolvida em
duplas. A apresentação deve ser realizada até o dia 19/09. Os dois integrantes
do grupo devem estar presentes no momento da apresentação. Será verificado o
funcionamento do programa e em seguida os alunos devem responder oralmente a
questões formuladas pelo professor sobre o código fonte do programa. Podem
ser atribuídas notas diferentes aos integrantes de um grupo, dependendo das
respostas às perguntas sobre o código do programa efetuadas pelo professor.
Caso um dos alunos não esteja presente ou demonstre não conhecer o código do
programa, este ficará com nota zero na atividade. Em caso de cópia do código
de outro grupo, ambos terão nota igual a zero.
Dúvidas?
Atendimento
aos Alunos
- Horário:
Terças-feiras das 16:20 às 18:00.
- Local:
Prédio do INE - Sala 305.
E-Mail
f r a n k @ i n f . u f s c . b r
Mantida
por Frank Siqueira. Atualizada
em 11/09/2012.
|