Package Comunicacion

Source Code of Comunicacion.ComunicacionServidor

package Comunicacion;

import java.rmi.NotBoundException;
import java.rmi.RemoteException;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
import java.util.List;

import Modelo.FachadaModelo;

public class ComunicacionServidor extends java.rmi.server.UnicastRemoteObject implements InterfazServidor
{
 
  /**
   *
   */
  private static final long serialVersionUID = 1L;
  private FachadaModelo modelo;
  private Registry registroServidor;
  private Registry registroCliente;
  private InterfazCliente cliente;

  public ComunicacionServidor() throws RemoteException
  {
    super();
    this.modelo = new FachadaModelo(this);
    this.iniciarServidor(3000);
  }
 
  public void crearConexionCliente(int puertoCliente, String direccionIpCliente)
  {
     try
        {
          registroCliente = LocateRegistry.getRegistry(direccionIpCliente, puertoCliente);
            this.cliente = (InterfazCliente)(registroCliente.lookup("rmiCliente"));
        }
        catch(RemoteException e)
        {
        }
        catch(NotBoundException e)
        {
        }
  }
 
  public void iniciarServidor(int puerto) throws RemoteException
  {
    try
    {
      registroServidor = LocateRegistry.createRegistry(puerto);
      registroServidor.rebind("rmiServidor", this);
    }
    catch (RemoteException e) {
            throw e;
        }
  }
 
  public void iniciarConexion(int puerto, String ip) throws RemoteException
  {
    this.crearConexionCliente(puerto, ip);
    this.modelo.ingresarBarra();
  }

  public int crearObjeto(int idTipoObjeto, double posX, double posY, List<Object> parametros) throws RemoteException
  {
    return this.modelo.crearObjeto(idTipoObjeto, posX, posY, parametros);
  }

  public void lanzar(int idObjeto, double velocidad, double angulo) throws RemoteException
  {
    System.out.println("Aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
    this.modelo.lanzar(idObjeto, velocidad, angulo);
  }

  public void valoresMaximosCanvas(double xMaxCanvas, double yMaxCanvas) throws RemoteException
  {
    this.modelo.valoresMaximosCanvas(xMaxCanvas, yMaxCanvas);
  }

  public void noSePuede()
  {
    try {
      this.cliente.noSePuede();
    } catch (RemoteException e)
    {
      e.printStackTrace();
    }
  }

  public void actualizar(double posX, double posY, int idObjeto)
  {
    try {
      this.cliente.actualizar(posX, posY, idObjeto);
    } catch (RemoteException e)
    {
      e.printStackTrace();
    }
  }
 
  public void informarCreacionObjeto(double posX, double posY, List<Double> parametros, int idObjeto, int tipoObjeto)
  {
    try {
      this.cliente.informarCreacionObjeto(posX, posY, parametros, idObjeto, tipoObjeto);
    } catch (RemoteException e)
    {
      e.printStackTrace();
    }
  } 
}
TOP

Related Classes of Comunicacion.ComunicacionServidor

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.