Pages: [1]   Go Down
Print
Author Topic: Esempio RMI  (Read 2528 times)
0 Members e 1 Utente non registrato stanno visualizzando questa discussione.
Enigmista
Matricola
*
Offline Offline

Posts: 40


« on: 07-01-2012, 16:35:06 »

Ragazzi qualcuno di voi potrebbe postare un esempio di rmi funzionante?

ho provato a far funzionare l'esercizio proposto in qualche discussione precedente ma mi da diversi problemi qualcuno di voi lo ha testato con successo?

Logged
Enigmista
Matricola
*
Offline Offline

Posts: 40


« Reply #1 on: 07-01-2012, 17:12:05 »

l'esempio postato nell'esercizio 7 funziona ma se qualcuno postasse qualche altro esempio ne sarei grato!
Logged
ilpuglio
Apprendista Forumista
**
Offline Offline

Posts: 300



« Reply #2 on: 07-01-2012, 17:47:48 »

Ragazzi qualcuno di voi potrebbe postare un esempio di rmi funzionante?

ho provato a far funzionare l'esercizio proposto in qualche discussione precedente ma mi da diversi problemi qualcuno di voi lo ha testato con successo?



 
Logged
wall-e
Matricola
*
Offline Offline

Posts: 39



« Reply #3 on: 07-01-2012, 19:17:08 »

Ragazzi qualcuno di voi potrebbe postare un esempio di rmi funzionante?

ho provato a far funzionare l'esercizio proposto in qualche discussione precedente ma mi da diversi problemi qualcuno di voi lo ha testato con successo?



quoto!!!
Logged
Vivynz
Forumista Eroico
*****
Offline Offline

Gender: Female
Posts: 2.033


File reality.sys corrupted, Reboot Universe? Y/N


« Reply #4 on: 08-01-2012, 11:54:43 »

io posso postare il mio svolgimento del 9, che dovrebbe essere quello scritto nell'altro post, è fatto un pò più semplice perchè alcune cose non sapevo sinceramente a cosa servissero...di funzionare pare che funzioni  

Interfaccia remota
Code:
public interface RmtInt extends java.rmi.Remote
{
public int hash(String s) throws java.rmi.RemoteException;
}

Implementazione dell'interfaccia remota
Code:
public class RmtIntImpl extends java.rmi.server.UnicastRemoteObject implements RmtInt
{
public RmtIntImpl() throws java.rmi.RemoteException
{
super();
}
public int hash(String s) throws java.rmi.RemoteException
{
char[] c=s.toCharArray();
int result=0;
for(int i=0;i<c.length;i++)
{
result+=(int)c[i];
}
result=result%26;
return result;
}
}
Server
Code:
import java.rmi.*;
public class Server
{
public static void main (String[] args)
{
try
{
RmtIntImpl rii=new RmtIntImpl();
Naming.bind("funzionehash",rii);
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
Client solo per il metodo remoto
Code:
import java.rmi.*;
public class Client
{
public static void main (String[] args)
{
if(args.length!=2)
return;
try
{
String url="rmi://"+args[0]+"/funzionehash";
RmtInt r=(RmtInt) Naming.lookup(url);
System.out.println("risultato: "+r.hash(args[1]));
}
catch(Exception e)
{
e.printStackTrace();
}

}
}
Client completo
Code:
import java.net.*;
import java.io.*;
import java.rmi.*;
public class prova9
{
public static void main (String[] args)
{
try
{
                        //creazione socket
InetAddress addr=InetAddress.getByName("151.97.252.4");

Socket s=new Socket (addr,80);
//stream dal server al client
InputStreamReader isr=new InputStreamReader(s.getInputStream());
BufferedReader in= new BufferedReader(isr);
//stream dal client al server
OutputStreamWriter osw= new OutputStreamWriter(s.getOutputStream());
BufferedWriter bw=new BufferedWriter(osw);
PrintWriter out =new PrintWriter(bw,true);
//invio della stringa
out.println("GET /gp/provaTPCD/09.aux\n");
//salto le prime 11 righe
for(int i=1;i<12;i++)
{
in.readLine();
}
int k=Integer.parseInt(in.readLine());
System.out.println("k: "+k);
//invocazione metodo remoto
String url="rmi://127.0.0.1/funzionehash";
RmtInt r=(RmtInt) Naming.lookup(url);
int result=r.hash("Zimbone");
int n=k*result;

System.out.println(n);
//reinizializzazione di socket e stream
s=new Socket (addr,80);

isr=new InputStreamReader(s.getInputStream());
in= new BufferedReader(isr);

osw= new OutputStreamWriter(s.getOutputStream());
bw=new BufferedWriter(osw);
out =new PrintWriter(bw,true);
//invio seconda stringa
out.println("GET /gp/provaTPCD/09b.aux\n");
//salto le righe prima dell'n-esima
                        for(int i=0;i<n;i++)
{
in.readLine();
}
                        //stampa del risultato
System.out.println(in.readLine());

in.close();
out.close();
s.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
« Last Edit: 08-01-2012, 12:00:59 by Vivynz » Logged

L'odrine delle lttere dnetro una praorla non è ipmortatne, la sloa cosa ipmortatne è che la pmria e l'utlima ltteera sinao nel potso giutso. Il rseto può essree in un dsiodrine più totlae e voi ptoerte smerpe lggeree sneza porblmea.
Enigmista
Matricola
*
Offline Offline

Posts: 40


« Reply #5 on: 12-01-2012, 21:42:50 »

grazie vivynz
Logged
Pages: [1]   Go Up
Print
Jump to: