Como saber quem deu um lookup de um serviço RMI?

0 respostas
gertmuller

Pessoal,

estou tentando fazer um jogo em rede usando RMI. Queria saber se depois de registrar meu serviço [rebind(“servico”, servico);], tem como eu saber quem deu um lookup desse serviço?

Vejam o código que fiz até agora:

package br.upe.ecomp.util;

import java.rmi.RemoteException;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
import java.rmi.server.ExportException;
import java.util.Observable;
import java.util.Observer;
import br.upe.ecomp.model.Game;

public class Server extends Observable implements Runnable
{
	public Server(Observer observer) throws RemoteException
	{ this.addObserver(observer); }
	
	public void run()
	{
		try
		{
			Server.registerGameService(new Game());
			
			server.accept(); //aqui ficaria esperando o primeiro consumidor do serviço.
			String host = server.getHost(); //aqui seria obtido o host do primeiro consumidor do serviço.
			lookup(host, "RemoteGame"); //aqui o server daria o lookup do servico que o consumidor possui. 
		}
		catch (RemoteException e)
		{ e.printStackTrace(); }
		
		this.setChanged();
		this.notifyObservers();
	}
	
	public static void registerGameService(Game game) throws RemoteException
	{
		Registry registry = LocateRegistry.getRegistry(1099);
		
		try
		{ registry = LocateRegistry.createRegistry(1099); }
		catch(ExportException e) {}
		
		registry.rebind("RemoteGame", game);
	}
}

Como posso fazer isso?
Abs!

Criado 25 de novembro de 2010
Respostas 0
Participantes 1