----------------------------------
Servidor
------------------------------------
import interfaz.interfazRemota;
import java.io.BufferedReader;
import java.io.FileReader;
import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;
import java.util.StringTokenizer;
public class servidor extends UnicastRemoteObject implements interfazRemota
{
public servidor() throws RemoteException
{
}
public String consultar(String codigo,String ipCliente) throws RemoteException
{
String datos="No encontrado";
try
{ //Direccion de un txt con datos en filas en el siguiente formato:
//12#carlos
FileReader fr = new FileReader("C:/prueba.txt");
BufferedReader entrada = new BufferedReader(fr);
String aux;
boolean band=true;
while((aux=entrada.readLine() ) != null && band)
{
StringTokenizer st = new StringTokenizer(aux,"#");
String var=st.nextToken();
if (var.equals(codigo))
{
band=false;
datos=aux;
System.out.println("datos: "+aux);
}
}
} catch(Exception ex) { System.out.println("error servidor: "+ ex.toString()); }
return datos;
}
}
-------------------------------------------------------------------
import java.rmi.Remote;
import java.rmi.RemoteException;
public interface interfazRemota extends Remote
{ public String consultar(String codigo,String ipCliente) throws RemoteException ;
}
-------------------------------------------------------------------
import java.rmi.RemoteException;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
public class ServidorSinInterfaz {
public static void main( String[] arg ) throws RemoteException
{
int puerto=3232;
Registry registro=null;
try {
registro = LocateRegistry.createRegistry(puerto);
registro.rebind("Servidor",new servidor());
} catch (RemoteException e){System.out.println(e);}
System.out.println("Servidor RMI Iniciado...");
}
}
------------------------------------------------------------------------
------------------------------------------------------------------------
Cliente
------------------------------------------------------------------------
import java.rmi.Remote;
import java.rmi.RemoteException;
public interface interfazRemota extends Remote
{
public String consultar(String codigo,String ipCliente) throws RemoteException ;
}
------------------------------------------------------------------------
import interfaz.interfazRemota;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.rmi.AccessException;
import java.rmi.NotBoundException;
import java.rmi.RemoteException;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
import java.util.Scanner;
import java.util.StringTokenizer;
public class ClienteSinInterfaz {
public static void main(String args[]) throws UnknownHostException, RemoteException, AccessException, NotBoundException, IOException {
String DatosdelServidor;
Registry registro;
int puertoServidor;
interfazRemota rmiServidor;
String ipServidor = null;
String ipCliente = null;
puertoServidor=3232;
try {
ipServidor = "192.168.1.35";
ipCliente = InetAddress.getLocalHost().getHostAddress();
} catch (UnknownHostException ex)
{ ex.printStackTrace(); }
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
String cod = in.readLine();
try
{
registro=LocateRegistry.getRegistry(ipServidor,puertoServidor);
rmiServidor = (interfazRemota)(registro.lookup("Servidor"));
java.security.AllPermission a =new java.security.AllPermission();
System.setProperty("java.security.policy","rmi.policy");
DatosdelServidor = rmiServidor.consultar(cod,ipCliente);
if(DatosdelServidor.equals("No encontrado"))
{
System.out.println("No encontrado");
System.out.println("Alumno no registrado en el archivo de texto Resultado consulta");
} else {
StringTokenizer st = new StringTokenizer(DatosdelServidor,"#");
System.out.println("codigo: "+st.nextToken());
System.out.println("nombre: "+st.nextToken());
System.out.println("Respuesta del Servidor: " + DatosdelServidor);
}
} catch(RemoteException e) { }
catch(NotBoundException e) { e.printStackTrace(); }
}
}
Hello world!
Hace 3 semanas

No hay comentarios:
Publicar un comentario