INE5418
Aula Prática - Sockets

Prof. Frank Siqueira

Departamento de Informática e Estatística
Universidade Federal de Santa Catarina
 

INE5418 | Descrição | Aula Prática | Trabalho 1 | Avaliação | Dúvidas


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.