Atividade 10

Disciplina – Sistemas distribuídos

Curso: Sistemas de informação

Data: 04/06/2010

Data da entrega: 25/06/2010

Valor : 8 pontos.

Grupos de no Maximo 6 elementos.

 

 

1.      Utilizando o Eclipse. Realize as tarefas a seguir:

2.    Com os códigos abaixo crie um projeto no eclipse de nome chat_assincrono

 

 

a)      ChamaThreads.java – arquivo tipo java

 

public class TwoThreadsDemo {

            public static void main (String[] args) {

                  new SimpleThread("Jamaica").start();

                  new SimpleThread2("Fiji").start();

            }

}

           

b)      SimpleThread – classe

 

public class SimpleThread extends Thread {

            public SimpleThread(String str) {

                  super(str);

                  }    

public void run() {

            for (int i = 0; i < 10; i++) {

                  System.out.println(i + " " + getName());

                  try {

                        sleep((long)(Math.random() * 1000));

                  } catch (InterruptedException e) {}

                  }

                  System.out.println("Terminado! " + getName());

            }

}

 

c)    SimpleThread2 – classe

 

public class SimpleThread extends Thread {

            public SimpleThread(String str) {

                  super(str);

                  }    

public void run() {

            for (int i = 0; i < 10; i++) {

                  System.out.println(i + " " + getName());

                  try {

                        sleep((long)(Math.random() * 1000));

                  } catch (InterruptedException e) {}

                  }

                  System.out.println("Terminado! " + getName());

            }

}

 

 

3) Co mpile e observe o funcionamento. Tratam-se de duas threads chamadas pelo arquivo principal. Cada uma das threads implementa um contador de 0 até 9 e imprime um nome passado pela rotina principal (fiji ou jamaica)

 

4) Utilizando os códigos acima e o trabalho desenvolvido na atividade 9 desenvolva um servidor de chat assíncrono (com uso de threads) com os seguintes requisitos:

 

a.       O cliente e o servidor deverão ser executados em threads  separadas.

 

b.   Para fins de apresentação ao professor deverão ser instanciados dois softwares em máquina distintas e ambos deverão se comunicar, permitindo aos usuários trocar mensagens.

 

b.      A mensagem a ser passada ao software remoto deverá ser lida do teclado (entrada padrão).

 

Obs: utilize a classe console vista anteriormente.

 

c.       O servido ao receber  a mensagem deverá imprimi-la em console e em seguida pedir ao usuário que digite a resposta.

      Esta resposta deverá também ser lida da entrada padrão (teclado).

 A resposta deverá ser enviada ao cliente novamente. No cliente a resposta deverá também ser impressa em console

 

 

d.      O  cliente deverá rodar em laço de repetição até que o servidor envie a resposta “exit”.

  

g.       Envie o código de cada thread para que o professor avalie o trabalho.

 

h.       No dia da apresentação do trabalho, o sistema deverá rodar para que o professor o avalie.

 

i.         Na data de avaliação o software deverá ser demonstrado ao professor em apresentação feita pelos alunos do grupo. Todos os elementos do grupo deverão estar presentes para que possam ser questionados sobre o desenvolvimento.