RMI - problemaço  XML
Índice dos Fóruns » Java Avançado
Autor Mensagem
rodrigo.achilles
JavaGuru
[Avatar]

Membro desde: 18/11/2004 20:43:04
Mensagens: 214
Localização: Rio de Janeiro
Offline

Olá pessoal,
Tenho o seguinte:
Um servidor e dois clientes. Só que em vez de só o cliente que enxerga o servidor através do RMI, queria que o Servidor tb enxergasse o cliente.
Tentei fazer isso mais dá erro.
Estou usando: serv = (Server) Naming.lookup("rmi://127.0.0.1/ServerService");
Para enxergar o Servidor.
E estava usando a mesma coisa para que o servidor visse o cliente.
Criei então uma classe que controla chamada CONTROLADOR. Aí o servidor enxerga a classe CONTROLADOR e ela acessa o cliente simplesmente chamando a classe cliente.
BLZ, até aí, pois tem um momento que o servidor fica preso nessa classe CONTROLADOR.
Muito estranho...

Alguém tem um exemplo clássico onde ambos se enxergam e enviam mesagem? Tipo um chat em RMI.

Agradeço.

-----------------------------------------------------------------------
Java é sinistro!

Att.
Rodrigo Achilles Pereira
[Email] [WWW] [MSN]
Filipe Sabella
GUJ Expert

Membro desde: 12/03/2003 11:25:57
Mensagens: 4680
Offline

Em que momento? O que é "preso"?

Que tal usar algo mais facinho?
http://www.retrogui.com/cgi-bin/wiki_dualrpcserver.pl/DualRpcServer

Former LIPE.
[ICQ]
danieldestro
Moderador
[Avatar]

Membro desde: 04/09/2002 17:26:16
Mensagens: 6667
Localização: São Paulo / Catanduva
Offline

Isso é feito por meio de callbacks em RMI.

Este artigo fala de RMI: http://www.guj.com.br/java.article.get.print.chain?article.id=37

Mas na época nem falei de callbacks com RMI. Para isso, olhe aqui: http://www.javaworld.com/javaworld/javaqa/1999-04/05-rmicallback.html

gotjava?
Doe sangue
What You See Is What You Get!
Apostilas de Java grátis!
RefsCALL - Bandeira Eletrônica para Árbitro de Futebol
[WWW]
danieldestro
Moderador
[Avatar]

Membro desde: 04/09/2002 17:26:16
Mensagens: 6667
Localização: São Paulo / Catanduva
Offline



LIPE, vc criou o DualRPC ou ele salvou sua vida?

gotjava?
Doe sangue
What You See Is What You Get!
Apostilas de Java grátis!
RefsCALL - Bandeira Eletrônica para Árbitro de Futebol
[WWW]
Filipe Sabella
GUJ Expert

Membro desde: 12/03/2003 11:25:57
Mensagens: 4680
Offline

Salvou minha vida

Former LIPE.
[ICQ]
danieldestro
Moderador
[Avatar]

Membro desde: 04/09/2002 17:26:16
Mensagens: 6667
Localização: São Paulo / Catanduva
Offline

Vamos fazer terapia em grupo. Conte o que aconteceu com você. Fale mais de sua experiência. Nâo tenha medo nem vergonha.

gotjava?
Doe sangue
What You See Is What You Get!
Apostilas de Java grátis!
RefsCALL - Bandeira Eletrônica para Árbitro de Futebol
[WWW]
Filipe Sabella
GUJ Expert

Membro desde: 12/03/2003 11:25:57
Mensagens: 4680
Offline

Olá, meu nome é Filipe.

Prometi para um amigo que entregaria um IM relativamente simples para ele em uma semana. Com a ajuda dos dois poderes, Thinlet e DualRpc, foi possível. DualRpc é tão ridiculamente fácil que dá raiva. Amem o DualRpc.

Obrigado.

Former LIPE.
[ICQ]
rodrigo.achilles
JavaGuru
[Avatar]

Membro desde: 18/11/2004 20:43:04
Mensagens: 214
Localização: Rio de Janeiro
Offline

Valeu galera.
Lipe, é uma parada interessante, mais como o projeto está no fim, e no momento estou apertado com mais projetos da facult. para resolver, aí fica difícil aprender assim.

E Daniel, aquele primeiro link eu já tinha visto e já havia implementado, faltava o inverso, o Servidor enxergar o Cliente, ou seja, criar uma interface para o Cliente...
E já tentei como eu disse, funciona com o Cliente exergando(serv = (Server) Naming.lookup("rmi://127.0.0.1/ServerService"); ) o Servidor mas, o Servidor enxergando (clie = (Cliente) Naming.lookup("rmi://127.0.0.1/ClienteService"); ), o cliente dá erro quando faço os dois juntos.

Entenderam.
Mais mesmo assim valeu pessoal.

-----------------------------------------------------------------------
Java é sinistro!

Att.
Rodrigo Achilles Pereira
[Email] [WWW] [MSN]
Filipe Sabella
GUJ Expert

Membro desde: 12/03/2003 11:25:57
Mensagens: 4680
Offline

Que erro cara?

Former LIPE.
[ICQ]
rodrigo.achilles
JavaGuru
[Avatar]

Membro desde: 18/11/2004 20:43:04
Mensagens: 214
Localização: Rio de Janeiro
Offline

O erro é esse:



Isso acontence quando eu crio uma interface para o cliente e para o servidor.

Quando eu crio uma interface para um controlador do Cliente(onde tem minha interface), o problema é outro, o software trava. e quando eu fecho o servidor, o cliente volta.

Maior doidera.

Explicando melhor:
CLIENTE - enxergo o servidor e faço a requisição
CONTROLADOR - onde eu instancio a classe cliente e recebo a requisição vinda do servidor.
SERVIDOR.

This message was edited 1 time. Last update was at 19/05/2005 12:08:49


-----------------------------------------------------------------------
Java é sinistro!

Att.
Rodrigo Achilles Pereira
[Email] [WWW] [MSN]
rodrigo.achilles
JavaGuru
[Avatar]

Membro desde: 18/11/2004 20:43:04
Mensagens: 214
Localização: Rio de Janeiro
Offline

Pra ser mais exato, o erro ocorre quando eu faço a requisição ao servidor:



Esse erro acontece quando eu tenho apenas:
CLIENTE:



SERVIDOR:


E os dois se enxergam da mesma maneira:
SERVER:


CLIENTE:


Será que é a maneira como eu enxergo ambos, como faço para mudar isso?Se for mesmo o problema.

-----------------------------------------------------------------------
Java é sinistro!

Att.
Rodrigo Achilles Pereira
[Email] [WWW] [MSN]
danieldestro
Moderador
[Avatar]

Membro desde: 04/09/2002 17:26:16
Mensagens: 6667
Localização: São Paulo / Catanduva
Offline

O segundo link deve te resolver o problema.

gotjava?
Doe sangue
What You See Is What You Get!
Apostilas de Java grátis!
RefsCALL - Bandeira Eletrônica para Árbitro de Futebol
[WWW]
rodrigo.achilles
JavaGuru
[Avatar]

Membro desde: 18/11/2004 20:43:04
Mensagens: 214
Localização: Rio de Janeiro
Offline

Olá Galera,
Dei uma olhada no Link daniel e estava implementando igual aquilo, o erro está no objeto Serializable, mas já implementei o objeto que estou passando como Serializable, mas nada funciona, alguém tem mais idéia?
Eu poderia colocar o código, mais são mais de 1000 linhas, aí fica complicado!

Obrigado,

-----------------------------------------------------------------------
Java é sinistro!

Att.
Rodrigo Achilles Pereira
[Email] [WWW] [MSN]
Filipe Sabella
GUJ Expert

Membro desde: 12/03/2003 11:25:57
Mensagens: 4680
Offline

Todos os atributos das classes são serializáveis?

Former LIPE.
[ICQ]
rodrigo.achilles
JavaGuru
[Avatar]

Membro desde: 18/11/2004 20:43:04
Mensagens: 214
Localização: Rio de Janeiro
Offline

Ta aí, outro problema, isso eu não sei.

Olha eu coloquei:


Aí o que acontece, tem um atributo que tento passar e não vai, o resto consigo acessar os arquivos do Servidor e tudo mais, mais passar não consigo.

Como faço para deixar todos os atributos Serializable?

Abraços

This message was edited 1 time. Last update was at 19/05/2005 16:51:36


-----------------------------------------------------------------------
Java é sinistro!

Att.
Rodrigo Achilles Pereira
[Email] [WWW] [MSN]
 
Índice dos Fóruns » Java Avançado
Ir para:   
Powered by JForum 2.1.8 © JForum Team