Atividade 09

Disciplina – Sistemas distribuídos

Curso: Sistemas de informação

Data: 07/05/2010

Data da entrega: 21/05/2010

Valor : 5 pontos.

Grupos de no Maximo 4 elementos.

 

 

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

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

 

      Interface : Talk

 

      import java.rmi.Remote;

import java.rmi.RemoteException;

 

 

public interface Talk extends Remote {

     

                  public String gettalk(String d) throws RemoteException;  

 

}

 

Servidor: TalkServer.java

 

import java.rmi.Remote;

import java.rmi.RemoteException;

 

 

public interface Talk extends Remote {

           

            public String gettalk(String d) throws RemoteException;  

 

}

 

Classes do servidor: TalkImpl

 

import java.rmi.Naming;  

        import java.rmi.RemoteException;  

        import java.rmi.RMISecurityManager;  

import java.rmi.server.UnicastRemoteObject; 

        public class TalkImpl extends UnicastRemoteObject implements Talk  

        { /**

                                    *

                                    */

                                   private static final long serialVersionUID = 1L;

                        public TalkImpl(String d) throws RemoteException  

            { 

super( );  

                         

      }  

          public String gettalk(String d)  

            {

              

              System.out.println("servidor recebeu: " + d);

              

              return d;

     }                

     private String d;  

    

        }

 

Cliente: TalkClient.java

 

import java.applet.Applet;  

     import java.awt.Graphics;  

     import java.rmi.Naming;  

import java.rmi.RemoteException;  

import java.rmi.server.RemoteObject;

  

     public class TalkClient  

     { public static void main(String args[])  

       { //System.setSecurityManager(new SecurityManager());  

             String url = "rmi://127.0.0.1/";  

  

          try {  

                 Talk obj = (Talk)Naming.lookup(url + "serverobj");              

                

                                   String d=”mensagem”;                        

                      

                 System.out.println(obj.gettalk(d));

                 

   }  

              catch (Exception e) {  

                 System.out.println("Erro: " + e.getMessage());  

                 e.printStackTrace();  

             }  

       }

 

           

     }

 

3.    Compile e execute o projeto e verifique seu correto funcionamento.

      A mensagem deve ser passada do cliente até o servidor.

   

4. Aproveitando o código do projeto Chat_server, realize modificações para obter o seguinte resultado.

a.       O cliente e o servidor deverão ser executados em sistemas operacionais diferentes e deverão se comunicar de forma correta.

 

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

 

Obs: veja a classe Console fornecida pelo professor na aula anteriro.

 

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”.

 

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

 

g.       Envie o código do cliente e do classe ChatImpl para o email do professor para que a entrega seja documentada.