Atividade
Disciplina
– Sistemas distribuídos
Curso:
Sistemas de informação
Data:
04/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("
new SimpleThread2("
}
}
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.