¿Cómo se consigue eliminar el sondeo con el callback? ejemplo:
Código:
Esto es porque necesito hacer el juego de hundir la flota por turnos online y en consola (con RMI) y debo repartir los turnos con callback y evitando el sondeo.//Sondeo /* ... */ while(servidor.numero() < 5) { /* Hacer lo que sea que haga el cliente */ } //Callback /* ... */ //Cuando la variable en cuestión en el servidor valga 5 o más, el cliente acaba.
Tengo lo siguiente:
Una interfaz juego con un sólo método
String dispara(int x, int y) throws RemoteException;
El Cliente-Servidor Jugador con:
Código:
No se si me he explicado bien./* Matrices y variables para el juego ... */ String disparar(int x, int y) throws RemoteException { //Devuelve "Agua", "Tocado" o "Hundido" según el resultado. } /* ... */ static void main(String[] args) { Jugadorr ORem = new Jugador(); Naming.rebind("//localhost/"+args[0], ORem); Thread.sleep(5000); //Para dar tiempo a activar los dos jugadores (5 segundos) //Conecta con el otro jugador juego Or = (juego)Naming.lookup("//localhost/"+args[1]); /* Lógica del juego */ while(putos < 20) { //Gana quien llegue a 20 puntos disparar(x,y); //Ahora se debería repartir el turno //En caso de agua el turno cambia y por tanto este cliente no puede disparar y esperar a que el otro dispare //En caso de tocado sigue con el turno y el otro cliente debería seguir esperando. }
¿Alguna referencia o ejemplo similar que me pueda resultar de ayuda?
Gracias.