[Prévia] [Próxima] [Prévia por assunto] [Próxima por assunto]
[Índice cronológico] [Índice de assunto]

Re: Mais duvidas no ep1




>Estou imaginando que na sua implementacao o ICEInvokerProxy,
>ao chegar no lado do cliente, instancia um Ice.Communicator
>e dai utiliza este comunicator para obter um ice proxy (??).

Exatamente.


--
Emílio de Camargo Francesquini <emilio@objective.com.br>

"Você deve ser a mudança que você deseja ver no mundo" M. Gandhi




                                                                                                                                       
                      Emerson Luiz                                                                                                     
                      Navarro Tozette          To:       emilio@objective.com.br                                                       
                      <emr@linux.ime.us        cc:       reverbel-sma@ime.usp.br                                                       
                      p.br>                    Subject:  Re: Mais duvidas no ep1                                                       
                                                                                                                                       
                      10/10/2003 15:23                                                                                                 
                                                                                                                                       
                                                                                                                                       




emilio@objective.com.br writes:
>
> >   Mas foi exatamente isso que eu fiz (mas sem usar o this, que da
> >   na mesma):
> >
> >    public void readExternal(final ObjectInput in)
> >         throws IOException, ClassNotFoundException
> >    {
> >            // remoteInvoker eh o ICE Proxy
> >            remoteInvoker = (InvokerPrx) in.readObject();
> >    }
> >
> >    public void writeExternal(final ObjectOutput out)
> >         throws IOException
> >    {
> >             out.writeObject (remoteInvoker);
> >    }
>
> Veja bem, eu só escrevi o this para deixar explícito de quem eu estava
> chamando o método. Ele realmente não é necessário. Agora confesso que não
> entendi o que você está fazendo. Até onde entendi esses métodos acima
estão
> na classe ICEInvokerProxy. Se for isto mesmo eu não sei o que acontece
> aqui:
>       out.writeObject (remoteInvoker);
>
> O seu ICEInvokerProxy tem uma variável chamada remoteInvoker?

  Sim.

> Qual o tipo dela?

  InvokerPrx, que eh o ICE Proxy.

> Pra que ela serve? Suponho que ela seja uma instância do objeto proxy
> gerado pelo compilador slice. Tal instância, aparentemente, foi criada do
> lado do servidor na sua inicialização.

  Isso mesmo.

> Mas ai, sinceramente, não sei se vai
> funcionar do outro lado (quando o ICEInvokerProxy for passado seriado
pelo
> servidor para o cliente) já que, no cliente, não há nenhum
Ice.Communicator
> instanciado e rodando e, portanto, qualquer chamada ao remoteInvoker vai
> resultar em um erro.

  Tambem nao sei se vai funcionar.

  Eu segui o modelo do JRMPInvokerProxy que, assim como o meu
  ICEInvokerProxy possui uma referencia para um ICE Proxy, possui
  uma referencia RMI.

  Estou imaginando que na sua implementacao o ICEInvokerProxy,
  ao chegar no lado do cliente, instancia um Ice.Communicator
  e dai utiliza este comunicator para obter um ice proxy (??).

  t+

>
> >Eu usei Externalizable porque segui o modelo do JRMPInvokerProxy,
> >   e tambem porque o enunciado do ep diz que eh necessario implementar
> >   os metodos writeExternal e readExternal.
> >
> >   De qualquer forma voce diz que basta fazer o ICEInvokerProxy
> >   implementar Serializable que tudo funcionara automaticamente?
> >   Vou tentar isso.
>
> O mundo não é tão belo assim... =)) Veja bem, os tipos de todas as suas
> variáveis de instância deverá ser Serializable. Ai, tudo deve funcionar
(ou
> não =)).
>
> [ ]'s
>
> --
> Emílio de Camargo Francesquini <emilio@objective.com.br>
>
> "Você deve ser a mudança que você deseja ver no mundo" M. Gandhi
>
>
>

--
   Emerson Luiz Navarro Tozette   <emr@linux.ime.usp.br>


Man will never penetrate outer space.
- Kehlog Albran, August 1942

Man will never penetrate outer space without a rocket.
- Kehlog Albran, August 1962