Pagina 1 di 1
[Java] remote method invocation
Inviato: domenica 5 febbraio 2012, 16:06
da sepp95
salve a tutti. sto provando a scrivere un programmino implementando il remote method invocation. dal mio manuale trovo una cosa simile
Codice: Seleziona tutto
import java.rmi.*;
public interface MyServerInterface extends remote {
public String concat(String a, String b) throws RemoteException;
}
public class Myserver implements MyServerInterface extends UnicastRemoteObject{
public void MyServer() throws RemoteException {
}
public void String concat(String a, String b) throws RemoteException{
return a + b;
}
}
però non mi viene compilato. inoltre vorrei sapere... va bene o manca qualcosa?
perchè devo creare l'interfaccia, che contiene lo stesso metodo della classe?
non capisco perchè ripetere il tutto
Re: [Java] remote method invocation
Inviato: domenica 5 febbraio 2012, 17:38
da Zoff
Che errore ottieni?
L'interfaccia serve perché l'applicazione remota non ha bisogno di sapere com'è fatto il tuo oggetto, basta che sappia che metta a disposizione il metodo concat(). È una questione di information-hiding.
Re: [Java] remote method invocation
Inviato: domenica 5 febbraio 2012, 19:56
da sepp95
Codice: Seleziona tutto
javac MyServer.java
MyServer.java:11: '{' expected
public class Myserver implements MyServerInterface extends UnicastRemoteObject{
^
MyServer.java:16: '(' expected
public void String concat(String a, String b) throws RemoteException{
^
2 errors
ecco gli errori.
quindi è obbligatorio ripetere anche tutti i metodi sia nell'interfaccia che nella classe?
Re: [Java] remote method invocation
Inviato: domenica 5 febbraio 2012, 19:58
da Zoff
Prima va messo extends, poi implements.
Re: [Java] remote method invocation
Inviato: lunedì 6 febbraio 2012, 9:23
da sepp95
Oh è vero grazie
Re: [Java] remote method invocation
Inviato: lunedì 6 febbraio 2012, 10:37
da sepp95
comunque continua a darmi questo errore. la parentesi non capisco proprio dove ce la devo mettere
Codice: Seleziona tutto
MyServer.java:16: '(' expected
public void String concat(String a, String b) throws RemoteException{
^
1 error
Re: [Java] remote method invocation
Inviato: lunedì 6 febbraio 2012, 13:31
da Zoff
C'è un tipo di ritorno di troppo.
Hai messo sia void che String.
[Java] server e client aiuto
Inviato: martedì 7 febbraio 2012, 12:01
da sepp95
salve ragazzi. per creare un server e un client in java come devo fare?
sto leggendo qualcosa a proposito. ma non ho capito molto. in pratica ho scritto il server con la sua interfaccia
SERVER
Codice: Seleziona tutto
import java.rmi.*;
import java.net.*;
import java.rmi.server.*;
public class MyServer extends UnicastRemoteObject implements MyServerInterface {
public MyServer() throws RemoteException {
}
public String concat(String a, String b) throws RemoteException {
return a+b;
}
}
INTERFACCIA
Codice: Seleziona tutto
import java.rmi.*;
import java.io.*;
import java.net.*;
public interface MyServerInterface extends Remote {
public String concat (String a, String b) throws RemoteException;
}
POI HO COMPILATO TUTTO
ho dato da terminale
rmic MyServer
ottenendo stub e sckeleton
poi ho scritto un altro file
Codice: Seleziona tutto
import java.rmi.*;
import java.net.*;
public class Exe {
public static void main (String[] args) throws RemoteException{
MyServerInterface server;
String url = "//" + serverhost + "/Myserver";
server = (MyServerInterface) Naming.lookup(url);
se è tutto giusto non lo so, ma in ogni caso non so cosa fare dopo.
un aiutino?
Re: [Java] remote method invocation
Inviato: martedì 7 febbraio 2012, 12:47
da Zoff
Il crossposting è vietato. Ho unito le discussioni.
Re: [Java] remote method invocation
Inviato: martedì 7 febbraio 2012, 13:19
da sepp95
Non sapendo cosa è non sapevo fosse vietato. Spero qualcuno sappia rispondermi
Re: [Java] remote method invocation
Inviato: martedì 7 febbraio 2012, 14:04
da Zoff
sepp95 ha scritto:
Non sapendo cosa è non sapevo fosse vietato.
È scritto nel regolamento, che tutti dovrebbero aver letto all'iscrizione:
http://forum.ubuntu-it.org/index.php?action=regolamento ha scritto:16. Cross-Posting. Evitate di inviare messaggi simili in sezioni differenti. Ciò provoca confusione e dispersione delle informazioni all'interno del forum in quanto le discussioni, normalmente, tendono a svilupparsi solo in una delle discussioni inserite. Nel caso di errore nell'inserimento della discussione (sezione errata) inviate un messaggio privato allo staff richiedendo lo spostamento della discussione. Messaggi e discussioni di questo tipo potranno essere modificati, spostati nella sezione "Quarantena", bloccati o cancellati. Cross-posting ripetuti da parte dello stesso utente, configurandosi come spam, potranno essere sanzionati di conseguenza.
Magari dagli un (ri)letta.
Re: [Java] remote method invocation
Inviato: martedì 7 febbraio 2012, 14:41
da sepp95
ok chiedo perdono