Manual
En este manual vamos a explicar cómo crear una carcasa RMI para mantener una comunicación cliente servidor con la cual funcione con la dirección IP de tu computadora a la red que estés conectado, de ejemplo se mandará una imagen desde un cliente al servidor donde el servidor se encargara de ecualizar la imagen y generar una gráfica de sus colores y de la imagen ecualizada y regresarla al cliente.
Primero vamos a crear una clase en la cual vamos a escribir las siguientes librerías y vamos a crear una clase y dentro de ella escribiremos unos métodos que nos servirán para funcionar como servidor y designar un puerto para que se conecten a el.
Ahora escribimos esto dentro del primer método que le designamos en un tipo registry el puerto que queremos al hospedar.
En este método se crea el main que es el principal que ejecutara el cual llama al método anterior de start registry para tener un puerto host y después guarda un objeto y llama a la clase de helloimpl, y hello.
Ahora creamos una clase llamada hello que esta nos servirá para almacenar una imagen serializable para poder transmitir un archivo en este caso una imagen.
En la clase de helloImpl vamos a escribir estas librerías las cuales nos van a servir para lo que vamos a hacer para poder cargar la imagen, que vamos a recibir del cliente, vamos a escribir la clase que se extiente a un objeto remoto y dentro de ella métodos que vamos a usar que serán los que reciban la imagen.
En el primer método vamos a recibir una imagen que el cliente nos va a dar en forma de bytes lo que hacemos es mostrarla con los bytes recibidos en una clase llamada abrir fotos, y después creamos un constructor llamado ecualizarrrr con el cual vamos a mostrar la gráfica de la imagen.
Ecualizar en esta clase lo que hacemos es llamar a otra clase llamada Surface la cual nos servirá para mostrar la gráfica de las imagenes
En la clase surfaces vamos a importar estas librerias ya que vamos a dibujar graficas de la imagen ecualizada para alzar sus colores, por lo tanto creamos esa clase con estos metodos.
En el primer método vamos a recibir una imagen por medio de buffered image y después lo almacenaremos en una segunda imagen que será la ecualizada.
Ahora en este método que va a recibir un parámetro de tipo graphics lo que vamos a hacer es calcular la gráfica de la imagen por lo tanto se necesitan los colores de la imagen tanto asi como el ancho y largo de la misma y lo que hace son varios cálculos matemáticos para calcular el máximo de los colores y poder ecualizar una imagen.
Después de calcular el ecualizado se manda la imagen original y la ecualizada para que se muestre en pantalla pero en el lado del servidor.
En esta función lo que hacemos en calcular la ecualizable de la imagen es la 2 parte del código para poder mostrar la gráfica.
Esta parte es la que hace posible que se mande la imagen por que recibe como parámetro una imagen en tipo buffered image y la convierte en arrays para poder mostrarla.
Este es el método de abrir foto que se menciona en muchas partes del código este lo que hace es poder abrir la foto ya sea como tipo de arrays o como buffered image es una manera para poder abrir ambas tipo de imagen.
Primero creamos la clase y llamamos a las librerías y creamos las funciones que vamos a usar.
En estas funciones lo que hacemos es recibir como parametro un tipo de imagen puede que sea de ambos tipos y lo que hacemos es llamar a un método llamada showimage que lo que hace es que muestra una imagen que es la que recibió por parametro.
Como cliente vamos a agregar las librerias a usar y vamos a crear nuestra clase lo que haremos es escribir en un tipo de archivo host la dirección del servidor que nos vamos a conectar y el puerto que tiene, y para poder cargar la imagen a usar tenemos que colocar la dirección de la imagen que vamos a usar en este caso se encuentra dentro del mismo paquete, lo que hacemos es cambiar su nombre.
Vamos a escribir esto que lo que hace es que podemos llamar al servidor para poder conectarnos a el y mandamos la imagen que se convierte en tipo de buffered image y se transforma a bytes para poder mandarla
En esta parte es donde podemos mandar la imagen al servidor ya que se convirtió en byte para poder mandarse al servidor donde se trabajará.
Esta clase es necesaria incluirla en la parte ya que lo que hace es llamar y mandar los buffered image o en byte para poder usar la imagen.
Autor:
Eluis Ramos